tag:blogger.com,1999:blog-361124002024-03-19T06:41:13.321+01:00joseluis_estebanapariciojose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.comBlogger217125tag:blogger.com,1999:blog-36112400.post-30529079442298382302022-07-02T20:02:00.006+02:002022-07-02T20:02:49.481+02:00Espectacular problema de búsqueda algoritmo<p> Uno de esos problemas en los que no es necesario saber de análisis reticular, basta con saber sumar y restar</p><div><br /></div><div>Uno de esos problemas que su enunciado es muy sencillo, muy fácil de entender</div><div><br /></div><div>Uno de esos problemas en los que la solución, es muy sencilla de entender, trivial</div><div><br /></div><div>Pero uno de esos, síiiiii, uno de esos en los que encontrar la solución, es realmente difícil</div><div><br /></div><div><br /></div><div>Que lo disfrutes...</div><div><br /></div><div><a data-saferedirecturl="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DiSNsgj1OCLA&source=gmail&ust=1656871201183000&usg=AOvVaw1VBlgLX3-7_fdC-GnoY178" href="https://www.youtube.com/watch?v=iSNsgj1OCLA" target="_blank">https://www.youtube.com/watch?<wbr></wbr>v=iSNsgj1OCLA</a></div><div class="yj6qo"></div><div class="adL"><br /><br /></div><p> </p>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-44687873023528600492013-04-27T12:45:00.001+02:002013-04-27T12:45:10.070+02:00Arrancar con USB con grub2Tengo un portátil con unos añitos.<br />
<br />
Este no incorpora la opción de arrancar desde usb en el setup.<br />
<br />
Esto es un inconveniente para hacer instalaciones de linux.<br />
<br />
<br />
Con grub1 se podía hacer de la siguiente forma <a href="http://joseluisestebanaparicio.blogspot.com.es/search?q=grub">http://joseluisestebanaparicio.blogspot.com.es/search?q=grub</a><br />
<br />
<br />
Pero ahora tenemos grub2 y es ligeramente diferente<br />
<br />
<br />
En la pantalla de grub, pulsamos la tecla 'c' para entrar en el modo comandos.<br />
<br />
Ahora podemos ejecutar 'ls' para ver los discos y particiones que tenemos disponibles.<br />
<br />
<br />
hd0 será el disco duro principal<br />
<br />
<br />Si está enchufado y detecta el usb, seguramente esté en hd1<br />
<br />
<br />
La primera partición tiene el número 1. OJO, el primer disco es el 0, la primera partición es la 1. OJO también, porque esto es un cambio en grub2 respecto a grub1 (antes lógicamente la primera partición era la 0)<br />
<br />
Cambiamos al disco que creemos tiene el arranque de linux con...<br />
<br />
<br />
<blockquote class="tr_bq">
set root=(hd1,1) </blockquote>
<br />
Este comando nos lleva al disco 2 partición 1<br />
<br />
<br />
para ver que tenemos podemos escribir<br />
<br />
<blockquote class="tr_bq">
find /</blockquote>
<br />
y pulsar la tecla tabulador.<br />
<br />
<br />
Si todo está ok, sólo quedan los comandos...<br />
<br />
<br />
<blockquote class="tr_bq">
chainloader +1<br />boot</blockquote>
<br />
<br />
<br />
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-35170087438002856652013-03-25T23:27:00.000+01:002013-03-25T23:27:00.213+01:00La puerta perfecta<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">Es el año 2040 (por no irnos muy lejos).</span><br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Tenemos una base lunar permanente.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Allí llegan regularmente naves desde la tierra con materiales, trabajadores y turistas. Las mismas naves llevan materiales de minería a la tierra.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Cada vez que llega una nave, se abre una enorme puerta para que esta pueda pasar y claro, se escucha siempre... "esa puerta, que hay corriente"</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Como te puedes imaginar, se produce una despresurización brutal, mayor a abrir una puerta de un avión a 10.000 de altura. Eso es incómodo, además de carísimo, hay que volver a rellenar el gran habitáculo con aire respirable a una presión confortable.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Así que se trata de inventar "la puerta". No es una puerta cualquiera, es una puerta especial.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Tiene que cumplir los siguientes requisitos...</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
1.- Nunca debe estar abierta, no puede abrirse, siempre, siempre está cerrada.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
2.- No debe tener ningún poro, debe conseguir un cierre hermético perfecto</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
3.- Que las naves puedan atravesarla</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
4.- Que sea barata</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
5.- Que se pueda construir de verdad (no valen las de "star wars")</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Pues esa puerta ya está inventada. "La puerta cerrada", "la puerta perfecta" o símplemente LA PUERTA, ya está inventada.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Para el que no la conozca, aquí hay un par de urls, con detalles, historia, planos, etc... que aproveche</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<a href="http://eltamiz.com/2007/12/24/inventos-ingeniosos-el-inodoro/" style="color: #1155cc;" target="_blank">http://eltamiz.com/2007/12/24/<wbr></wbr>inventos-ingeniosos-el-<wbr></wbr>inodoro/</a></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<a href="http://naukas.com/2013/03/25/quiero-cagar-en-mi-casa/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+naukas+%28Naukas%29&utm_content=Google+Reader" style="color: #1155cc;" target="_blank">http://naukas.com/2013/03/25/<wbr></wbr>quiero-cagar-en-mi-casa/?utm_<wbr></wbr>source=feedburner&utm_medium=<wbr></wbr>feed&utm_campaign=Feed%3A+<wbr></wbr>naukas+%28Naukas%29&utm_<wbr></wbr>content=Google+Reader</a></div>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-38191023790720664702013-03-19T22:52:00.001+01:002013-03-19T23:21:34.478+01:00PI, infinitos dígitos para decirlo todo, todo<br />
Hoy, leyendo en un blog de ciencia, contaban la sensacionalista historia de lo que está codificado en el número PI.<br />
<br />
La primera vez que leí esto fue hace mucho en un libro de Martin Gardner.<br />
Pero es una historia clásica, que aparece también en el libro Contact de Carl Sagan.<br />
<br />
<br />
La historia es la siguiente.<br />
<br />
<br />
PI es un número irracional (además es transcendente, pero este último curioso capricho no es relevante ahora).<br />
<br />
La característica de un número irracional, es que no puede ser representado como una fracción de dos números enteros por muy grandes que elijas estos.<br />
<br />
Y eso, provoca que ese número, tenga infinitos decimales que no se repiten periódicamente.<br />
<br />
<blockquote class="tr_bq">
"...<span style="background-color: white; font-family: arial; font-size: 13px; line-height: 19px; text-align: justify;">si la secuencia en verdad no tiene fin <i>(y no se repite cíclicamente, añado yo)</i> esto implica que cualquier número imaginable, e incluso cualquier combinación de ellos, aparecerá más tarde o más temprano en alguna parte de la secuencia de Pi. O de cualquier otro número irracional"</span></blockquote>
<br />
Parece lógico e intuitivo, pero... no es tan sencillo.<br />
<br />
Y basándonos en el teorema demostrado <a href="https://es.wikipedia.org/wiki/Teorema_de_los_infinitos_monos" target="_blank">de los infinitos monos</a> nos induce a pensar...<br />
<br />
<blockquote class="tr_bq">
<span style="background-color: white; font-family: arial; font-size: 13px; line-height: 19px; text-align: justify;">"Todos los libros escritos y por escribir, verdaderos y falsos, con errores y sin ellos; incluyendo el detallado manual de cómo descodificarlos, el catálogo completo (el verdadero y millones de ellos falsos), y la cuidadosa y convincente refutación de todos (incluyendo el auténtico). Todas las cartas de amor jamás escritas, las todavía por escribir, las que se pensaron y nunca llegaron al papel; todos los pensamientos expresados con palabras en todos los idiomas, muertos, vivos o todavía no nacidos… Todo está en algún rincón de Pi"</span></blockquote>
<br />
Es tentador y bonito, además de sensacionalista, que eso mola.<br />
<br />
Es más, creo que se cumple para PI, el número e, la raíz cuadrada de dos, la razón áurea y cualquier número irracional no construido con mala leche. ¿Pero quien demuestra que PI o e u otro número irracional no tiene mala leche? ¿Es acaso posible demostrar si PI, e y amigos tienen o no mala leche?<br />
<br />
¿Cómo construir un número irracional con mala leche? Entendiendo por mala leche que no cumpla que más tarde o temprano encontraremos cualquier secuencia numérica.<br />
<br />
<br />
Antes de nada ¿Cómo codificar con dígitos de PI textos?<br />
<br />
Podríamos agrupar los números de dos en dos dígitos decimales y asignar a cada valor una letra. Sustitución directa y sencilla.<br />
<br />
Los ordenadores sólo trabajan con números. Continuamente utilizan tablas de conversión número a letras para mostrar texto. Pueden utilizar la vieja tabla de conversión ASCII, o el más moderno UTF8, o UNICODE16 o... lo que sea.<br />
<br />
¿Dependerá del modelo de sustitución que elijamos para que sea cierto que en PI está todo lo escrito en la historia, y lo que se escribirá?<br />
Aquí está la clave. Parece que no. El que elijas un modelo u otro de sustitución (e incluso una estrategia diferente pero completa de codificación que no sea la sustitución) parece que no influye. El resultado estará más lejos o más cerca.<br />
<br />
<br />
Vuelvo con los números irracionales con mala leche. Construyamos uno con mala leche.<br />
Obtengo todos los decimales de PI, pero cada vez que aparece un 8, me lo salto. El número resultante será un número irracional (bastante artificial y puñetero, pero irracional total).<br />
<br />
Si utilizamos base 127 y tabla de conversión ASCII, y decidimos construir un número irracional con los decimales de PI pero saltándonos todos los dígitos 65 y 95 que corresponden a la 'A' y la 'a', difícilmente vas a escribir algo mínimamente complejo. Y seguro que un libro de Shakespeare tiene unas cuantas aes.<br />
<br />
<br />
Claro, si elegimos otro modelo de codificación, reaparecerán todos los libros y cartas, pero... eso es menos sensacional. Si elijo el modelo de cifrado para conseguir un resultado... pierde toda la gracia.<br />
<br />
Es como preguntar por el siguiente número de una serie. Vale cualquiera, siempre y cuando tenga libertad para elegir la función generadora. Es decir, dado un número finito de elementos de una serie cualquiera, existen infinitas funciones generadoras para la misma.<br />
<br />
<br />
Pero estas dificultades ocurren con números irracionales con mala leche.<br />
<br />
¿Es PI un número con mala leche?<br />
¿Es el número e un número con mala leche?<br />
¿Es la raíz cuadrada de dos un número con mala leche?<br />
<br />
<br />
Estoy convencido de que no tienen mala leche, no es improbable, ni muy improbable, ni remotamente improblable, es muchísimo más improbable que todo eso. ¿Pero alguien que lo demuestre con una seguridad del 100%?<br />
¿Es acaso demostrable?<br />
<br />
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-28040839583146578162012-09-24T18:47:00.002+02:002012-09-24T18:47:20.783+02:00Eliminar y recuperar del arranque un servicio ubuntuCaso real:<br />
<br />
sudo apt-get install qpidd<br />
<br />
<br />
Lo instala y configura correctamente.<br />
<br />
Pero además, añade al arranque una instancia de qpidd con una configuración por defecto.<br />
<br />
Como no quiero dicha configuración por defecto, para eliminarla...<br />
<br />
<br />
<br />
<pre class="alt2" dir="ltr" style="background-color: #f7f6f5; border: 1px inset; font-size: 13px; height: 34px; overflow: auto; padding: 6px; text-align: left; width: 640px;">sudo update-rc.d -f <i>qpidd</i> remove</pre>
<br />
<br />
<br />
Para reinstalar el arranque de dicho servicio...<br />
<br />
<br />
<pre class="alt2" dir="ltr" style="background-color: #f7f6f5; border: 1px inset; font-size: 13px; height: 34px; overflow: auto; padding: 6px; text-align: left; width: 640px;">sudo update-rc.d -f <i>qpidd</i> defaults</pre>
<br />
<br />
<br />
Para parar arrancar o reiniciar un servicio...<br />
<br />
<br />
<pre class="alt2" dir="ltr" style="background-color: #f7f6f5; border: 1px inset; font-size: 13px; height: 66px; overflow: auto; padding: 6px; text-align: left; width: 640px;">sudo invoke-rc.d <i>qpidd</i> start
sudo invoke-rc.d <i>qpidd</i> stop
sudo invoke-rc.d <i>qpidd</i> restart</pre>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-73551072016873931202012-09-24T09:49:00.004+02:002012-09-24T09:49:33.357+02:00Teclas Linux¿Reiniciar ordenadamente con el sistema colgado?<br />
<br />
<br />
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US">alt + sysrq +s sync data<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US">alt + sysrq + u mount as read only<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US">alt + sysrq + b reboot</span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US">¿Matar las X cuando está desabilitado control-alt-backspace?</span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span lang="EN-US"><br class="Apple-interchange-newline" /></span></div>
<span lang="EN-US"><span style="font-size: 12.727272033691406px;">kill X right-alt + sysrq + k</span></span><br />
<br />
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-4788397071411602762012-09-04T15:52:00.002+02:002012-09-04T15:55:38.765+02:00Apple e itunes<span class="Apple-style-span" style="-webkit-text-size-adjust: none; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;"></span><br />
<div>
Sorprendente.</div>
<div>
<br /></div>
<div>
Cuando aceptas los términos de la tienda de Apple, aceptas que todo lo que compres por dicha tienda, cuando te mueras, es para Apple. Libros, música, programas...</div>
<div>
<br /></div>
<div>
Pero ya tenemos un héroe dispuesto a luchar por la justicia contra los villanos, y es... como no... Bruce Willins</div>
<div>
<br /></div>
<a href="http://alt1040.com/2012/09/bruce-willis-y-el-derecho-a-ceder-su-biblioteca-de-itunes-a-sus-hijos">http://alt1040.com/2012/09/bruce-willis-y-el-derecho-a-ceder-su-biblioteca-de-itunes-a-sus-hijos</a><br />
<br />
<br />
<br />
<br />
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
El actor parece estar considerando la idea de <strong style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><a href="http://www.dailymail.co.uk/news/article-2197248/Bruce-Willis-fights-leave-iPod-tunes-family-Actor-considering-legal-action-Apple-battle-owns-songs-downloaded-iTunes.html" style="border-bottom-color: rgb(0, 102, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0066cc; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank">llevar a Apple a los tribunales</a></strong>. La razón, la defensa de Willis a dejar su gran colección digital descargada en iTunes a su familia una vez haya muerto. Una batalla contra el gigante sobre <strong style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">quién es el dueño de las canciones descargadas en iTunes</strong>.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<img alt="" class="alignright size-medium wp-image-178314" height="168" src="http://s3.alt1040.com/files/2012/09/881478-bruce-willis-300x168.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: right; height: auto; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 20px; max-width: 100%; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="881478-bruce-willis" width="300" /></div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Y es que aunque muchos no lo sepan, según los términos del servicio que aceptamos, una vez hayamos muerto la colección pasa a ser de nuevo propiedad de Apple. Una situación que <strong style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">sitúa la compra en un “préstamo” bajo licencia</strong>.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Esta situación ahora descubierta por el famoso actor le ha llevado a considerar tomar acciones legales contra el gigante tecnológico, ya que pretende ceder toda su colección a sus hijas. Una batalla que de convertirse en realidad se presenta ciertamente difícil para Willis.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
La idea de Willis es clara. De la misma forma que su colección de música física puede ser cedida a los miembros de su familia, la gran colección de música digital que ha comprado en iTunes también debería ser posible legítimamente.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Sin embargo los términos de servicio en iTunes son claros. <strong style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">La música que compramos y descargamos no puede ser pasada a otro persona</strong>. Es nuestra mientras estemos en vida, luego su dueño será otra vez Apple.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
No sólo eso, en los términos se indica la posibilidad de congelar una cuenta de iTunes si se cree que se está pasando la música a otras personas, algo parecido a lo que ocurre con las descargas de libros digitales como el Kindle de Amazon.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Willis parece tener dos vías para comenzar esta batalla. Por un lado, enfrentarse el sólo contra Apple (y las dificultades de llevar a cabo una acción legal de este calibre), tratando de establecer una validez en sus hijos sobre la titularidad de su música descargada.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Por otro, unirse y apoyar las acciones legales en curso en cinco estados de Estados Unidos para ofrecer derechos a los usuarios que compran música digital a que puedan hacer con ella lo que quieran.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
De tener éxito, la lucha de Willis no sólo beneficiaría a sus hijos, sino a millones de personas que han comprado música en el popular servicio de Apple.</div>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-79860141353482157222012-09-04T15:31:00.003+02:002012-09-04T15:31:42.050+02:00Detector molecular comprado en méjico<br />
<a href="http://en.wikipedia.org/wiki/GT200">http://en.wikipedia.org/wiki/GT200</a><br />
<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<a href="http://alt1040.com/2012/08/corte-detector-molecular">http://alt1040.com/2012/08/corte-detector-molecular</a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Un aparato avanzado para detectar drogas por un mecanismo físico misterioso.</div>
<div>
<br /></div>
<div>
Sin pilas, ni chips, un alambre y dentro del corazón, una hoja enrollada.</div>
<div>
<br /></div>
<div>
Sólo funciona si te lo crees, como la gran mayoría de los bulos.</div>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-82209255045751358912012-09-04T15:28:00.000+02:002012-09-04T15:28:06.826+02:00tipado dinámico vs estático y LISP<a href="http://ib-krajewski.blogspot.com.es/2012/09/static-vs-dynamic-lisp-experiences.html">http://ib-krajewski.blogspot.com.es/2012/09/static-vs-dynamic-lisp-experiences.html</a><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;"></span><br />
<h2 class="date-header" style="color: #777777; font: normal normal bold 105%/normal 'Trebuchet MS', Trebuchet, Verdana, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 10px;">
<span>Monday, 3 September 2012</span></h2>
<div class="date-posts">
<div class="post-outer">
<div class="post hentry" itemscope="itemscope" itemtype="http://schema.org/BlogPosting" style="margin-bottom: 30px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<a href="" name="6688519999219638608" style="color: #de7008;"></a><h3 class="post-title entry-title" itemprop="name" style="color: #9e5205; font: normal normal bold 160%/normal Verdana, sans-serif; letter-spacing: -1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Static vs Dynamic - the LISP experiences</h3>
<div class="post-header">
<div class="post-header-line-1">
</div>
</div>
<div class="post-body entry-content" id="post-body-6688519999219638608" itemprop="articleBody">
<br />Maybe you happen to remember my recent <a href="http://ib-krajewski.blogspot.de/2012/01/static-vs-dynamic-debate-decided.html" style="color: #de7008;">post </a>about static and dynamic languages with the main assertion that the type information is maybe superfluous but helpful for documentation and refactoring. You might be tempted to retort: <b>docs & refactoring are for sissies</b><b>, you wimp</b>! But wait a moment, who are the most notorious hackers out there? You are right, the LISP hackers. From them you'd expect the most ruthless hacks and also despising of the programming aids mere mortals are using. At least as far as the programming folklore is concerned.<br /><br />But if you a little bit look closer... Heres the answer* given to a simple question "What you dislike the most about Lisp?":<br /><blockquote class="tr_bq">
<i>I must say that <b>the lack of static typing really gets in the way on larger projects</b>. Being able to confidently change datatypes and function signatures, knowing that the compiler will point out most inconsistencies that you introduce, is something that I've really come to appreciate after working with Rust and Haskell. Test coverage helps, of course, but I'm not a very diligent test writer, and tend to feel that</i><b><i> type signatures are easier to maintain than an exhaustive test suite</i></b><i>.</i></blockquote>
Surprise, surprise, basically he's reiterating my simple argument: why should we give up something that can help us, i.e. automatic checking if all the interfaces are used correctly?<br /><br />And for the seconds, some "<i>opinion as a result of ... programming in Lisp in a production environment on non-trivial code</i>"**:<br /><blockquote class="tr_bq">
<i>Right off, I can say that the <b>biggest, most glaring thing that causes problems is the lack of static typing.</b> It happens that when the compiler is unable to detect these issues, the end user is left to find them. This can be very potentially damaging to companies. And it is more prominent when you have 100k lines of code, not all of which one can be familiar with.</i></blockquote>
<blockquote class="tr_bq">
<i>Lisp takes some steps to help solve these issues. </i><a href="http://www.sbcl.org/" style="color: #de7008;"><i>SBCL</i></a><i> has very good <b>type inference capabilities</b>, and can warn or error at compile time with type issues. Additionally, Common Lisp allows one to declare and assert argument types, but there’s no guarantee this information can be used. </i><i><br /></i></blockquote>
And what's SBCL? Let's cite from it's homepage: "<i>Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler</i>". What? Even more surprises! Compilers, type inference, assertions? Ok, looks like (at least some of) the LISP hackers came to appreciate the static typing. Who would have thought it?</div>
</div>
</div>
</div>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-81693575096680767292012-08-24T15:33:00.001+02:002012-08-24T15:34:40.037+02:00Cuando no se usan esas chulísimas metodologías de desarrollo...<br />
<br />
<div>
<a href="http://softlibre.barrapunto.com/comments.pl?sid=84003&cid=1218450">http://softlibre.barrapunto.com/comments.pl?sid=84003&cid=1218450</a></div>
<div>
<br />
<br />
<span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">Según el propio Linus, el kernel se está complicando cada vez más. En mi opinión como ingeniero informático de primera esto se debe a los siguientes motivos:</span></div>
<ul>
<li>No se están siguiendo las mejores prácticas de gestión de proyectos establecidas por el SWEBOK [wikipedia.org], con etapas claramente diferenciadas: definición de requisitos, análisis, diseño, construcción, pruebas, etc.</li>
<li>¡No hay ni un solo diagrama UML!</li>
<li>Se están empeñando en usar C frente a lenguajes de mayor nivel como Modula-2, respaldado por todas las universidades del mundo.</li>
<li>Entre los colaboradores del kernel hay mucho intrusismo, gente de FP, sin título, físicos, matemáticos, industriales. Ello irremediablemente conduce a un código con errores, que no ha sido firmado ni respaldado por el correspondiente colegio de informáticos.</li>
<li>Falta un SDK para Windows, cuando en la Universidad casi todas las aulas son Windows.</li>
<li>Falta claramente un análisis de riesgos, y una metodología más orientada hacia la verificación de sistemas, lo que conduciría al aseguramiento de la calidad y a la reducción del Time To Market. Esto os lo puede corroborar cualquier consultor de McKinsey o Accenture.</li>
</ul>
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-34327608950068548512012-08-23T12:39:00.003+02:002016-04-07T22:53:06.130+02:00Opinión Alan Cox sobre threadsMi opinión es muy próxima a la suya, pero él es Alan Cox, yo soy... nadie en comparación<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: yellow; font-family: sans-serif; font-size: 13px; line-height: 19px;">A Computer is a state machine. Threads are for people who can't program state machines.</span><br />
<span class="Apple-style-span" style="background-color: yellow; font-family: sans-serif; font-size: 13px; line-height: 19px;">Alan Cox</span><br />
<span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"><br /></span>
<span class="Apple-style-span" style="font-family: sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: "times new roman"; font-size: small; line-height: normal;">Y no es el único gurú que tiene opiniones parecidas...</span></span></span><br />
<span class="Apple-style-span" style="font-family: sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: "times new roman"; font-size: small; line-height: normal;"><br /></span></span></span>
<span class="Apple-style-span" style="font-family: sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-family: "times new roman"; font-size: small; line-height: normal;"><br /></span></span></span>
<span class="Apple-style-span" style="background-color: yellow;">If you think you need threads then your processes are too fat </span><br />
<span class="Apple-style-span" style="background-color: yellow;">Rob Pike</span><br />
<br />
<br />
<br />
Esto no significa que se esté en contra del proceso simultáneo. En absoluto.<br />
<br />
Ni siquiera del proceso simultáneo apropiativo.<br />
<br />
Y obviamente no del proceso simultáneo distribuido.<br />
<br />
<br />
¡¡¡AUPA EEEEERRRRLAAAAAANNNNNNGGGG!!!<br />
<br />
<br />
Paralelismo sí, pero en condiciones<br />
<br />
<br />
¿Porqué podemos querer ejecución paralela?<br />
<br />
<br />
¿Para que las cosas vayan más rápido?<br />
Rara vez. Y en esos casos, estas limitado al número de procesadores reales.<br />
<br />
¿Para hacer la lógica del programa más sencilla?<br />
Entonces Alan Cox tiene razón.<br />
<br />
¿Por seguridad?<br />
Entonces las hebras es lo peor, porque te aumenta la inseguridad.<br />
<br />
<br />
Si lo queremos para escalar horizontalmente (distribuyendo), para simplificar la lógica del programa (en algunos casos de forma radical), o por seguridad, lo mejor son procesos.<br />
<br />
<br />
Una buena opción es separarlos con un middleware, más que una opción, es una obligación.<br />
<br />
<br />
Pero podemos combinar esto, con un sistema orientado a procesos de forma que maximicemos al máximo los beneficios de ejecutar en paralelo, CON PROCESOS.<br />
<br />
<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
¡¡¡AUPA EEEEERRRRLAAAAAANNNNNNGGGG!!!</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
¿Para qué no queremos threads?</div>
<div>
<br /></div>
<div>
O dicho de otra forma, dónde los threads aportan poco.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Para que el usuario no se quede esperando mientras ha pedido algo.</div>
<br />
<br />
<br />
¿Funcionará más rápido? NO<br />
¿Funcionará más seguro? NO<br />
¿Tendrá una lógica más sencilla? NO<br />
<br />
¿entonces, "paqué"?<br />
<br />
<br />
<br />
Yo era uno de esos ingenuos que pensaba que las hebras eran una chulada, la solución a los males del mundo. Y los semáforos, regiones críticas y mutex, nuestra gran ayuda. Eso sí, muy lejos del alto nivel del "rendezvous" de ADA.<br />
<br />
Pero la vida real me puso en su sitio. Todos esos mecanismos para evitar problemas con la concurrencia y memoria compartida, destruían la concurrencia al mismo tiempo que complican enormemente el código haciéndolo inmantenible e intocable.<br />
<br />
Los errores de la concurrencia apropiativa con memoria compartida, son difíciles de encontrar y pueden pasar en cualquier momento.<br />
<br />
En este sentido, estoy compartiendo la opinión de Joe Amstrong y Martin Ordesky (citada en sus respectivos libros de sus respectivos lenguajes de programación)<br />
<br />
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-44685179342093397802012-08-13T15:33:00.003+02:002012-08-13T15:33:58.680+02:00Para mi con hielo y refrigerarse bebiendo líquidos muy calientes<br />
Yo sufí el siguiente comentario con prácticamente los mismos argumentos...<br />
<br />
<br />
<a href="http://amazings.es/2012/08/13/para-mi-con-hielo-por-favor/">http://amazings.es/2012/08/13/para-mi-con-hielo-por-favor/</a><br />
<br />
<br />
<span class="Apple-style-span" style="color: #363a3f; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 19px;"></span><br />
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
Debido a la ola de calor que nos azota estos días, es probable que haya proliferado por todo el país la típica conversación de café de las once de la mañana acerca de la rabiosa, en todos los sentidos, actualidad meteorológica. Dada esta circunstancia, y conforme el número de interlocutores crece, la probabilidad de que alguien afirme en algún momento que <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><a href="http://www.elcorreo.com/videos/vizcaya/actualidad-vizcaya/1027084823001-mejor-para-luchar-contra-calor-caliente.html" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3685d5; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">lo mejor para combatir el calor es una bebida caliente</a></strong> tiende asintóticamente a uno.</div>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">¿Bebida caliente?</strong> ¿Con la que está cayendo? El sentido común nos dice que nos echemos las manos a la cabeza inmediatamente. Pero también sabemos que a menudo el sentido común yerra estrepitosamente. Así que parémonos un momento a considerar los argumentos que se ofrecen a favor de dicha afirmación. A saber, suele aducirse una o más de las siguientes razones:</div>
<ol start="1" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; list-style-image: initial; list-style-position: initial; list-style-type: decimal; margin-bottom: 20px; margin-left: 34px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">La bebida caliente <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">aumenta la sudoración</strong>, que es el principal mecanismo por el cual nuestro cuerpo regula el exceso de temperatura.</li>
<li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">En el momento de la ingesta, se pasa más calor, pero <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">a la larga es más efectivo el alivio</strong>.</li>
<li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Los árabes, incluidos los beduinos en el desierto, los indios, etc., han tomado té hirviendo durante siglos para combatir el calor; (y esta es mi parte preferida) <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">miles de millones de personas no pueden estar equivocadas</strong>.</li>
</ol>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
En primer lugar, lo que resulta indudable de esta cuestión es que si ingerimos cierta cantidad de líquido a una temperatura superior a la de nuestro organismo, se va a producir una transferencia de calor en el sentido líquido->cuerpo, y nuestra temperatura corporal va a aumentar. A partir de ahí, es rigurosamente cierto que —si nuestro sistema termorregulador funciona correctamente— va a aumentar la sudoración. Pero esto <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">se da, precisamente, porque el exceso de temperatura es mayor</strong>, tenemos más calor y la necesidad de regulación apremia. Ahora bien, algo más caliente se enfriará más rápido, pero <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">esto no quiere decir que se enfríe antes</strong>.</div>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
El segundo argumento apela únicamente a la sensación que se produce <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">por contraste</strong>. Resulta tan válido como pillarse los dedos con una puerta repetidamente con la excusa de que al parar produce placer. Allá cada cual con sus fetichismos.</div>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
El último punto, como ya he comentado, es mi preferido por <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">la falacia tan grande y tan repetida</strong> que supone. “<em style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Millones de personas a través de la historia no pueden estar equivocadas</em>“. Tenemos tantos contraejemplos que refutan esta afirmación… Sin embargo, es divertido seguir escuchándola aún hoy en día. Por otro lado, creo que es importante realizar un par de observaciones adicionales. No puede olvidarse el hecho de que, en el desierto o en países donde las condiciones sanitarias no son las mejores, la única forma de beber agua de forma segura es hirviéndola. Además, un beduino en mitad del desierto no tiene forma de enfriar una bebida, así que es estúpido pensar que “opta” por el té caliente por obtener algún tipo de beneficio.</div>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">La única forma efectiva de combatir el calor es hidratarse</strong> para que nuestro cuerpo tenga algo que sudar. Y todo parece indicar que la ingesta de líquidos fríos ayudará a nuestro cuerpo a regular la temperatura. Pero ¿realmente se producirá así una reducción de la temperatura o nuestro metabolismo se acelerará, produciendo energía, para calentar ese líquido? Llegados a este punto, echaremos mano de la literatura científica en busca de evidencias. No es complicado encontrar un puñado de resultados en PubMed con la cadena <em style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">“drink temperature”</em> [<strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><a href="http://www.ncbi.nlm.nih.gov/pubmed/20694887" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3685d5; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">1</a>, <a href="http://www.ncbi.nlm.nih.gov/pubmed/22586501" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3685d5; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">2</a>, <a href="http://www.ncbi.nlm.nih.gov/pubmed/20714767" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3685d5; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">3</a>, <a href="http://www.ncbi.nlm.nih.gov/pubmed/20479490" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3685d5; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">4</a></strong>]. En dichos estudios, efectivamente, se concluye que <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">las bebidas frías ayudan a modular la temperatura corporal</strong>, con especial significación cuando se trata de entornos húmedos y cálidos. Y no solo eso, sino que además parece ser que el rendimiento deportivo aumenta.</div>
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 15px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
Así que, este veranito, mi café que sea con hielo. Gracias.</div>
jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-4076214956709608252012-07-19T15:18:00.003+02:002012-07-19T15:18:19.863+02:00impresionante fotografía de la tierra<a href="http://en.wikipedia.org/wiki/Pale_Blue_Dot">http://en.wikipedia.org/wiki/Pale_Blue_Dot</a><br />
<br />
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-12039435326640281472012-07-02T11:22:00.001+02:002012-07-02T11:28:20.795+02:00leap second linux bug<br />
<br />
<a href="http://www.pcmag.com/article2/0,2817,2406583,00.asp">http://www.pcmag.com/article2/0,2817,2406583,00.asp</a><br />
<a href="http://en.wikipedia.org/wiki/Leap_second">http://en.wikipedia.org/wiki/Leap_second</a><br />
<br />
Hay muchísima información en internet al respecto.<br />
<br />
Los segundos añadidos, suelen generar graves problemas en los sistemas Linux.<br />
<br />
Es sorprendente porque Linux es muy utilizado y los "leap seconds" existen desde 1972<br />
<br />
<br />
En windows no sucede.<br />
<br />
En windows optaron por una solución menos "perfecta" y por eso más segura.<br />
En windows no existen los "leap seconds". Todos los minutos tienen 60 segundos. Cuando se añade un segundo, lo que sucede es que el sistema se desincroniza y luego tiene que ajustar la hora.<br />
Una chapuza, que por ser sencilla, es más segura a problemas.jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-28689643582659244152012-06-18T14:41:00.001+02:002012-06-18T14:41:39.989+02:00WebSockets erlang vs ... (again)Another competition erlang vs...<br />
<br />
In this case with websockets<br />
<br />
<br />
<a href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md">https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md</a><br />
<br />
<br />
<span class="Apple-style-span" style="color: #333333; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px;"></span><br />
<h1 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: text; font-size: 28px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
C10K Websocket Test</h1>
<h2 style="-webkit-font-smoothing: antialiased; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: text; font-size: 24px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#methodology" name="methodology" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Methodology</h2>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
This benchmark starts a new client every 1ms, each client sends a timestamp message to the server every second and the server echos that message back to the client.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
I started two m1.medium AWS instances. On one instance I started one of the servers and the other instance I ran the <code style="background-color: #f8f8f8; border-bottom-color: rgb(234, 234, 234); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(234, 234, 234); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(234, 234, 234); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(234, 234, 234); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 0px; white-space: nowrap;">./runtest</code>command as:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">sudo bash
ulimit -n 999999
./runtest 300 $SERVER_HOSTNAME 8000 10000
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
The clients communicated to the server via the server's public IP.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
After 5 minutes of running, the statistics are dumped to a log file in <code style="background-color: #f8f8f8; border-bottom-color: rgb(234, 234, 234); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(234, 234, 234); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(234, 234, 234); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(234, 234, 234); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 0px; white-space: nowrap;">results/</code>.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Both EC2 instances are configured with the following <code style="background-color: #f8f8f8; border-bottom-color: rgb(234, 234, 234); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(234, 234, 234); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(234, 234, 234); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(234, 234, 234); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 0px; white-space: nowrap;">etc/sysctl.conf</code> file:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;"># General gigabit tuning:
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_syncookies = 1
# this gives the kernel more memory for tcp
# which you need with many (100k+) open socket connections
net.ipv4.tcp_mem = 50576 64768 98152
net.core.netdev_max_backlog = 2500
</code></pre>
<h2 style="-webkit-font-smoothing: antialiased; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: text; font-size: 24px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#stat-definitions" name="stat-definitions" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>stat definitions</h2>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#connection_time" name="connection_time" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>connection_time</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Elapsed time between the opening of the client TCP socket and the websocket handshake is finished.</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#latency" name="latency" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>latency</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Elapsed time for a message sent from the client to echo back to the client by the server.</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#connections" name="connections" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>connections</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Number of connections</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#disconnections" name="disconnections" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>disconnections</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Number of server disconnects</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#messages" name="messages" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>messages</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Total number of messages received by the clients</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#connection_timeouts" name="connection_timeouts" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>connection_timeouts</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Total number of connection timeouts. The timeout is currently hard coded as 2 seconds. This means that any TCP connection that takes longer than 2 seconds to be accepted, this number will be incremented and the client crashes</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#crashes" name="crashes" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>crashes</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Number of crashed clients from a reason other than timeout</div>
<h2 style="-webkit-font-smoothing: antialiased; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: text; font-size: 24px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#summary" name="summary" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Summary</h2>
<table style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font: inherit; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><tbody style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<tr style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Implementation</th><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Connection Time (mean)</th><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Latency (mean)</th><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Messages</th><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Connections</th><th style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Connection Timeouts</th></tr>
<tr style="background-color: #f8f8f8; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Erlang</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">865ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">17ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">2849294</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">10000</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">0</td></tr>
<tr style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Haskell (Snap)</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">168ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">227ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">1187413</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">4996</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">108</td></tr>
<tr style="background-color: #f8f8f8; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Java (Webbit)</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">567ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">835ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">1028390</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">4637</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">157</td></tr>
<tr style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Go</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">284ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">18503ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">2398180</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">9775</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">225</td></tr>
<tr style="background-color: #f8f8f8; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Node.js (websocket)</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">768ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">42580ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">1170847</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">5701</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">4299</td></tr>
<tr style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">Python (ws4py)</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">1561ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">34889ms</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">1052996</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">4792</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 6px; padding-left: 13px; padding-right: 13px; padding-top: 6px; text-align: left;">5208</td></tr>
</tbody></table>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Both the Python gevent/ws4py implementation and the Node.js websocket implementation failed hard with around half of the connections hitting the 2 second TCP connection timeout.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
I expected Go to kick Erlang's ass in the performance department but the message latency was much higher than Erlang's latency and we had 225 unhappy customers. Go only reached C9.775k; close but no cigar.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
I did not know what to expect with the Java Webbit implementation. I expected it to perform somewhere close to the Go implementation. The Webbit implementation did do much better than the Go implementation but it still had 157 connection timeouts which is unacceptable.</div>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
I was very surprised that node.js fell down after 5001 connections and that gevent fell down at 4792 connections. Both platforms were specifically built to for the C10k problem and both platforms could barely handle C5k.</div>
<h2 style="-webkit-font-smoothing: antialiased; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: text; font-size: 24px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#raw-data" name="raw-data" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Raw Data</h2>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<em style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">NOTE:</em> All times in the raw data section are microseconds (μs).</div>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#erlang" name="erlang" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Erlang</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">erl -pa deps/*/ebin ebin +K true -s wsdemo
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Results:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,1211},
{max,7095662},
{arithmetic_mean,865234.6877431907},
{geometric_mean,54697.83406753208},
{harmonic_mean,7120.650345343649},
{median,30830},
{variance,2735986827114.5996},
{standard_deviation,1654081.8683229072},
{skewness,1.9914668412550036},
{kurtosis,2.909594628744607},
{percentile,
[{75,742384},{95,4987533},{99,6799786},{999,7095626}]},
{histogram,
[{601211,754},
{1201211,43},
{1801211,37},
{2301211,24},
{2901211,29},
{4001211,47},
{5001211,44},
{6001211,34},
{7001211,13},
{8001211,3}]}]},
{latency,
[{min,339},
{max,133716},
{arithmetic_mean,17183.052529182878},
{geometric_mean,10783.698396530715},
{harmonic_mean,5192.896345572704},
{median,13152},
{variance,268282946.31856245},
{standard_deviation,16379.345112627747},
{skewness,2.1492019675946312},
{kurtosis,6.822353838233374},
{percentile,[{75,21791},{95,51176},{99,72926},{999,120010}]},
{histogram,
[{6339,269},
{12339,215},
{18339,200},
{23339,116},
{29339,64},
{40339,70},
{50339,39},
{60339,25},
{70339,18},
{80339,2},
{90339,5},
{100339,3},
{110339,0},
{120339,1},
{130339,0},
{140339,1}]}]},
{connections,10000},
{disconnections,0},
{messages,2849294},
{connection_timeouts,0},
{crashes,0}]
</code></pre>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#java-webbit" name="java-webbit" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Java (Webbit)</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">cd competition
make
./wsdemo-java.sh
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Results:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,3338},
{max,2623179},
{arithmetic_mean,568653.1643968872},
{geometric_mean,239776.61439946695},
{harmonic_mean,44919.74165588423},
{median,451451},
{variance,306300228181.46747},
{standard_deviation,553443.9702277615},
{skewness,1.2305092991530981},
{kurtosis,1.2062614948219368},
{percentile,
[{75,770172},{95,1664444},{99,2386111},{999,2614860}]},
{histogram,
[{203338,329},
{403338,114},
{603338,218},
{803338,121},
{1003338,52},
{1203338,32},
{1403338,52},
{1603338,47},
{1803338,33},
{2003338,9},
{2203338,4},
{2403338,7},
{2503338,2},
{2703338,8},
{2903338,0}]}]},
{latency,
[{min,2404},
{max,3125659},
{arithmetic_mean,835454.7616731517},
{geometric_mean,415058.36966433167},
{harmonic_mean,127535.15422317719},
{median,1120680},
{variance,464519954989.0205},
{standard_deviation,681557.0078790332},
{skewness,0.2642559196998899},
{kurtosis,-0.6775121016726264},
{percentile,
[{75,1395539},{95,1587208},{99,2847752},{999,3028506}]},
{histogram,
[{242404,413},
{502404,25},
{802404,33},
{1002404,17},
{1202404,46},
{1502404,385},
{1702404,83},
{1902404,6},
{2202404,0},
{2402404,0},
{2602404,2},
{2902404,11},
{3102404,6},
{4002404,1}]}]},
{connections,4637},
{disconnections,0},
{messages,1028390},
{connection_timeouts,157},
{crashes,0}]
</code></pre>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#go" name="go" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Go</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">go run competition/wsdemo.go
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Results:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,1160},
{max,4976523},
{arithmetic_mean,284385.766536965},
{geometric_mean,25658.973510831038},
{harmonic_mean,4682.473567580233},
{median,17083},
{variance,321545391374.91504},
{standard_deviation,567049.7256633805},
{skewness,2.8689925005503345},
{kurtosis,11.032450263460195},
{percentile,
[{75,315753},{95,1638363},{99,2280604},{999,4077353}]},
{histogram,
[{201160,752},
{401160,33},
{601160,49},
{801160,70},
{1001160,24},
{1201160,10},
{1401160,13},
{1601160,21},
{1801160,26},
{2001160,14},
{2201160,1},
{2401160,8},
{2601160,1},
{2801160,0},
{3001160,0},
{3201160,3},
{4001160,1},
{5001160,2},
{6001160,0}]}]},
{latency,
[{min,396},
{max,49339496},
{arithmetic_mean,18502964.8463035},
{geometric_mean,9622411.318087175},
{harmonic_mean,95396.41025637122},
{median,16967669},
{variance,172290802618704.38},
{standard_deviation,13125959.112335538},
{skewness,0.25510601755314605},
{kurtosis,-1.1384153840403934},
{percentile,
[{75,29263313},{95,40281761},{99,43519694},{999,48055962}]},
{histogram,
[{5000396,215},
{10000396,121},
{14000396,95},
{19000396,125},
{23000396,95},
{28000396,87},
{40000396,231},
{50000396,59},
{60000396,0}]}]},
{connections,9775},
{disconnections,0},
{messages,2398180},
{connection_timeouts,225},
{crashes,0}]
</code></pre>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#nodejs" name="nodejs" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Node.js</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">node competition/wsdemo-websocket.js
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Result:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,1365},
{max,15279774},
{arithmetic_mean,767702.8326848249},
{geometric_mean,116937.90265102463},
{harmonic_mean,8679.280802291636},
{median,180911},
{variance,1353540644549.0554},
{standard_deviation,1163417.6569697813},
{skewness,3.66537131211259},
{kurtosis,30.079010617480094},
{percentile,
[{75,1246355},{95,2627839},{99,4837405},{999,11155277}]},
{histogram,
[{501365,633},
{901365,45},
{1301365,103},
{1701365,64},
{2101365,50},
{2501365,59},
{2901365,33},
{4001365,25},
{5001365,13},
{6001365,1},
{7001365,0},
{8001365,0},
{9001365,0},
{10001365,0},
{11001365,0},
{12001365,1},
{13001365,0},
{14001365,0},
{15001365,0},
{16001365,1}]}]},
{latency,
[{min,611},
{max,97026003},
{arithmetic_mean,42579710.93871595},
{geometric_mean,29278195.25822909},
{harmonic_mean,179784.76163030352},
{median,40669676},
{variance,608302541426507.6},
{standard_deviation,24663790.086410232},
{skewness,0.11640391568235428},
{kurtosis,-1.0294319744170162},
{percentile,
[{75,63882416},{95,82661184},{99,91485418},{999,95397096}]},
{histogram,
[{9000611,99},
{18000611,106},
{26000611,95},
{40000611,203},
{50000611,122},
{60000611,107},
{70000611,123},
{80000611,103},
{90000611,56},
{100000611,14},
{110000611,0}]}]},
{connections,5701},
{disconnections,0},
{messages,1170847},
{connection_timeouts,4299},
{crashes,0}]
</code></pre>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#python-ws4py" name="python-ws4py" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Python (ws4py)</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">python competition/wsdemo.py
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Result:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,1385},
{max,31066360},
{arithmetic_mean,1560786.1439688716},
{geometric_mean,242841.69030740944},
{harmonic_mean,13336.537657190269},
{median,466631},
{variance,8683385612161.933},
{standard_deviation,2946758.492337289},
{skewness,5.552260242760376},
{kurtosis,45.00935160637418},
{percentile,
[{75,2137563},{95,5306448},{99,11598748},{999,31064785}]},
{histogram,
[{1101385,678},
{2101385,87},
{3101385,79},
{5001385,118},
{6001385,31},
{7001385,16},
{8001385,0},
{9001385,0},
{10001385,1},
{11001385,7},
{12001385,1},
{13001385,0},
{14001385,0},
{15001385,0},
{16001385,0},
{17001385,5},
{18001385,0},
{19001385,0},
{20001385,0},
{21001385,0},
{22001385,0},
{23001385,0},
{24001385,0},
{25001385,0},
{26001385,0},
{27001385,0},
{28001385,0},
{29001385,0},
{30001385,2},
{31001385,1},
{40001385,2}]}]},
{latency,
[{min,1454},
{max,82132060},
{arithmetic_mean,34889348.67509728},
{geometric_mean,22808521.363542553},
{harmonic_mean,668574.9036028518},
{median,34752889},
{variance,499999310132036.25},
{standard_deviation,22360664.34907595},
{skewness,0.0915931544450531},
{kurtosis,-1.236873451442312},
{percentile,
[{75,54840581},{95,69809695},{99,77043401},{999,81923621}]},
{histogram,
[{8001454,158},
{16001454,131},
{24001454,86},
{32001454,111},
{40001454,98},
{50001454,125},
{60001454,149},
{70001454,121},
{80001454,45},
{90001454,4},
{100001454,0}]}]},
{connections,4792},
{disconnections,0},
{messages,1052996},
{connection_timeouts,5208},
{crashes,0}]
</code></pre>
<h3 style="-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: text; font-size: 18px; font-weight: bold; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative;">
<a class="anchor" href="https://github.com/ericmoritz/wsdemo/blob/results-v1/results.md#haskell-snap" name="haskell-snap" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; bottom: 0px; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-bottom: 0px; margin-left: -30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 30px; padding-right: 0px; padding-top: 0px; position: absolute; text-decoration: none; top: 0px;"></a>Haskell Snap</h3>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Command:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">make
./wsdemo-snap +RTS -N -A4M -qg1
</code></pre>
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Result:</div>
<pre style="background-color: #f8f8f8; border-bottom-color: rgb(204, 204, 204); border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(204, 204, 204); border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: solid; border-top-width: 1px; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 10px; padding-right: 10px; padding-top: 6px;"><code style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 3px 3px; border-bottom-right-radius: 3px 3px; border-bottom-style: none; border-color: initial; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-left-radius: 3px 3px; border-top-right-radius: 3px 3px; border-top-style: none; border-width: initial; border-width: initial; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: pre;">Running test with 10000 clients for 300 seconds
Result: [{connection_time,
[{min,1567},
{max,2073630},
{arithmetic_mean,168940.40758754863},
{geometric_mean,31200.494465279622},
{harmonic_mean,9399.811560514618},
{median,26617},
{variance,123018539492.51427},
{standard_deviation,350739.98844231357},
{skewness,2.7164844487113418},
{kurtosis,6.85212552452187},
{percentile,
[{75,103744},{95,1043260},{99,1583130},{999,1924847}]},
{histogram,
[{131567,804},
{251567,67},
{401567,32},
{501567,5},
{701567,19},
{801567,13},
{901567,6},
{1001567,11},
{1101567,30},
{1301567,14},
{1401567,4},
{1501567,8},
{1601567,6},
{1801567,6},
{1901567,1},
{2001567,1},
{2101567,1},
{2201567,0}]}]},
{latency,
[{min,587},
{max,936981},
{arithmetic_mean,227188.01653696498},
{geometric_mean,202801.5999348484},
{harmonic_mean,94007.32548850514},
{median,233930},
{variance,7172450496.960787},
{standard_deviation,84690.32115277865},
{skewness,0.9561457641408602},
{kurtosis,9.056862234860235},
{percentile,[{75,275229},{95,337791},{99,439979},{999,872760}]},
{histogram,
[{30587,24},
{60587,15},
{90587,12},
{120587,34},
{150587,71},
{180587,104},
{210587,128},
{240587,162},
{270587,175},
{300587,171},
{400587,117},
{500587,9},
{600587,2},
{700587,2},
{800587,0},
{900587,1},
{1000587,1}]}]},
{connections,4996},
{disconnections,0},
{messages,1187413},
{connection_timeouts,108},
{crashes,0}]</code></pre>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-53801343682991899902012-05-02T14:27:00.002+02:002012-05-02T14:27:14.448+02:00iee754 C++ trick<a href="http://randomascii.wordpress.com/2012/01/11/tricks-with-the-floating-point-format/">http://randomascii.wordpress.com/2012/01/11/tricks-with-the-floating-point-format/</a><br />
<br />
<br />
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-71130818354039710212012-05-02T14:22:00.003+02:002012-05-02T14:22:31.729+02:00Preguntas C++ para una entrevista de trabajo<a href="http://www.reddit.com/r/cpp/comments/sppna/i_had_a_c_interview_here_are_some_questions/">http://www.reddit.com/r/cpp/comments/sppna/i_had_a_c_interview_here_are_some_questions/</a><br />
<br />
<br />
<br />
<br />
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Hello all,</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
I had a C++ phone screen and I thought some people might be interested in seeing the questions that were asked. Here they are:</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
If you could change one thing about the C++ language, what would you change and why? What are some limitations of c++?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Could you explain to me how virtual functions work? and why you would use them?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
What is the overhead of calling a virtual function?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Are there any situations when this overhead is larger or smaller?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
When should you make a destructor virtual?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Could you explain to me the difference between static_cast and dynamic_cast?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
How would you implement a class that opens two files if you could not use exceptions?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
How would you implement that class with two files using exceptions?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
How would you handle one of the files failing to open in the case where you have exceptions?</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Could your constructor throw an exception after one of the files had been opened and the 2nd one failed? Which destructors would be called in this case? (assumes use of RAII for file handling (which is how I answered the previous questions))</div>
<div style="font-family: verdana, arial, helvetica, sans-serif; font-size: small; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
How would you find the 10 most used words used in a large text file (which was a novel)? file -> words -> hashmap<string count="" int="" word,=""> ->keep track of top 10 using a vector</string></div>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-44986909781654194062012-04-05T09:17:00.001+02:002012-04-05T09:17:36.749+02:00¿Cómo saber la versión de ubuntu/kubuntu que estamos utilizando?<br />
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
<strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: 600; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Solution 1</strong></div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
cat /etc/issue</div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
The file /etc/issue holds the version of Ubuntu installed on your system</div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
<strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: 600; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Solution 2</strong></div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
lsb_release -a</div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
<br /></div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
visto en...</div>
<div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Tahoma, Arial, Helvetica; font-size: 12px; line-height: 20px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; text-indent: 20px; vertical-align: baseline;">
<a href="http://www.ubuntugeek.com/find-which-ubuntu-linux-version-you-are-running.html">http://www.ubuntugeek.com/find-which-ubuntu-linux-version-you-are-running.html</a></div>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-56231247421494292522012-02-25T00:40:00.000+01:002012-02-25T00:41:02.292+01:00los neutrinos superlumínicos<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Como ya sabrás, hace un par de días, los chicos del experimento Ópera</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">(donde se detectaron posibles neutrinos que viajaban más rápido que la</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">luz) informaron que han detectado un par de errores en dicho</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">experimento.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">El experimento se repetirá en pocas semanas, a ver que pasa. La</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">expectación es máxima.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Desde el principio, los chicos de Ópera, informaron de los resultados</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">aclarando...</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">1.- El experimento debe revisarse</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">2.- El experimento debe repetirse en otros laboratorios por otras personas</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Esta aclaración es para los no científicos, porque es la rutina</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">conocida por todos ellos.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Los no científicos, como era previsible, se fueron al sensacionalismo</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">de la mano de los periodistas.</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Escuché (y no es la primera vez) cosas como Einstein estaba</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">equivocado, esto abre la posibilidad de viajes en el tiempo hacia el</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">pasado y el futuro, y otras perlitas.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Nada que dijera ningún científico.</span><br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Los chicos del experimento Ópera, han estado revisándolo, han</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">encontrado dos errores y lo han anunciado.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Toda una lección para periodistas, y pseudociencias como la economía.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Veremos que pasa en unas pocas semanas</span><br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">De confirmarse que unos neutrinos podrían ir más rápido que la luz,</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">volveríamos a una situación emocionante en la que deberá seguir</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">revisándose el experimento y estará pendiente de verificaciones</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">adicionales en otros laboratorios con otros científicos.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">De reconfirmarse con nuevos experimentos y diferentes laboratorios,</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">los científicos estarían en un fascinante escenario ocurrido muy pocas</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">veces (o nunca en la historia)</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Se habría abierto una puerta por donde pasará un científico de la</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">talla de Einstein o quizá incluso del mismísimo Newton.</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Lo malo es que estos no abundan, y quizá pasara mucho tiempo hasta</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">verlo, pero la puerta estaría ahí esperando.</span><br />
<br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Esto me recuerda un poco al experimento Michelson/Morley</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Érase una vez un señor que quería medir la velocidad de la tierra</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">viajando a través del éter luminífero. Sería como medir la velocidad</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">absoluta de la tierra.</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Newton ya dijo que eso era imposible con procedimientos mecánicos,</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">pero la evolución de la ciencia electromagnética desde entonces, lo</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">permitía (por medios no mecánicos, claro)</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Michelson ideó un fantásico experimento, brutalmente ingenioso, para</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">tomar unas medidas colosalmente precisas que permitirían detectar esta</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">velocidad cruzando el éter luminífero.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">El resultado fue sorprendentemente negativo.</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969);"><span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif; font-size: x-small;">Así que Michelson perfeccionó su máquina una y otra vez.</span></span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Luego se alió con Morley y realizaron uno de los experimentos más</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">fabulosos e ingeniosos de la historia.</span><br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Pero seguía dando resultados negativos.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Pusieron su supersensible máquina en una piscina de mercurio,</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">realizaron el experimento en un sótano a altas horas de la noche para</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">que un caballo andando por la calle no pudiera afectarle.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Y el resultado fue... negativo.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Después de trabajar durísimo durante años mejorando el que ya era uno</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">de los mejores experimentos de la historia, se riendieron.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Publicaron los resultados con toda la información y detalles del</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">mismo y dijeron que no fueron capaces de medir el viaje de la</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">tierra.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Esto abrió una sensacional puerta en la que se asomaron enormes</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">científicos como Lorenz aportanto ideas ingeniosas que explicaban el</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">resultado.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Pero fue Einstein, quien atravesó esa puerta triunfal y el mundo</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">cambió bruscamente.</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Einstein dio una explicación sencilla, elegante, completa, inapelable</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">y coherente con la mecánica de Newton y el electromagnetismo de</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Maxwell (y Faraday y otros)</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Después de que Einstein publicara su articulito "sobre la</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">electrodinámica de los cuerpos en movimiento", se acabó la diversión.</span><br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Una diferencia muy grande con aquella época, es que no muchos</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">científicos conocían los detalles del sensacional experimento,</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">incluido el propio Einstein</span><br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Einstein no fue inspirado por el experimento de Michelson/Morley y el</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">año 1905, Einstein no publicó un artículo revolucionario y suficiente</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">para convertirse en uno de los grandes de todos los tiempos. Publicó</span><br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">cuatro.</span><br />
<br />
<br />
<span class="Apple-style-span" style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;">Pero eso es otra historia.</span>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-20723948925377980182012-01-27T11:39:00.002+01:002012-01-27T11:41:28.953+01:00Hoja de cálculo con autoreferencia a la propia hoja (Excel, OpenCalc, Google)Un problema curioso...<br />
<br />
Preparación<br />
<br />
<ol>
<li>En la hoja de cálculo escribimos una tabla con la primera columna con números.</li>
<li>En la segunda columna, escribimos una ecuación que nos devuelva el numero de la primera columna</li>
<li>En la tercera columna, volvemos a hacer autoreferencia a la primera columna, pero en este caso, añadimos en la ecuación el nombre de la hoja de cálculo actual.</li>
</ol>
<div>
<br /></div>
<div>
La fiesta</div>
<div>
<br /></div>
<div>
<ol>
<li>Ahora le decimos que ordene la tabla por la primera columna. Todo bien.</li>
<li>Es el turno de ordenar por la segunda columna. Sin problemas</li>
<li>Y le toca a la tercera. Ordenamos por la tercera columna. ¿Qué pasa?</li>
</ol>
<div>
<br /></div>
</div>
<div>
La comparación</div>
<div>
<br /></div>
<div>
La hoja de cálculo de Mocochoft, Excel y la de OpenOffice, ordenan mal, cambian las ecuaciones, los resultados de la tercera columna son erróneos.</div>
<div>
<br /></div>
<div>
La hoja de Google, lo hace bien.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Observaciones</div>
<div>
<br /></div>
<div>
El problema con Excel, se produce muy fácilmente. Basta con seleccionar otra hoja mientras escribes la ecuación, volver a la hoja y ya te ha metido la autoreferencia de hoja.</div>
<div>
<br /></div>
<div>
En OpenOffice y Google, el comportamiento es mejor. Con el ratón no se puede generar. Detectan que has vuelto a la hoja propia y no escriben la autoreferencia.</div>
<div>
No está mal, porque es difícil que alguien escriba a mano una autoreferencia a una hoja de cálculo.</div>
<div>
<br /></div>
<div>
Pero la mejor solución, es hacerlo bien, que no es tan difícil.</div>
<div>
<br /></div>
<div>
Y eso es lo que hace Google. Aunque haya una autoreferencia a la propia hoja en la propia tabla a ordenar, lo gestiona bien.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Vuelve a ganar Google Docs. En segundo lugar, OpenOffice. Y Excel, con un patético resultado.</div>
<div>
<br /></div>
<div>
Probado en Excel 2007</div>
<div>
<br /></div>
<div>
¿Es más importante el "Ribbon" que estos problemas?</div>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-8880159915104646452012-01-23T21:30:00.003+01:002012-01-23T21:30:54.045+01:00El falsificador más buscado de todos los tiempos<br />
<h1 style="color: #333333; font: normal normal normal 2em/1.2 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<a href="http://www.elblogsalmon.com/historia-de-la-economia/edward-mueller-el-falsificador-mas-buscado-de-todos-los-tiempos"><span class="Apple-style-span" style="font-family: inherit; font-size: small;">http://www.elblogsalmon.com/historia-de-la-economia/edward-mueller-el-falsificador-mas-buscado-de-todos-los-tiempos</span></a></h1>
<h1 style="color: #333333; font-size: 1.8em; font: normal normal normal 2em/1.2 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<br /></h1>
<h1 style="color: #333333; font-size: 1.8em; font: normal normal normal 2em/1.2 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<br /></h1>
<h1 style="color: #333333; font-size: 1.8em; font: normal normal normal 2em/1.2 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Edward Mueller: el falsificador más buscado de todos los tiempos</h1>
<div class="post-author" style="border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-bottom-width: 1px; font: normal normal normal 76%/1.5 Georgia, 'Times New Roman', Times, serif; margin-bottom: 75px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px;"><br />Edward Mueller había tenido varios trabajos, en 1937 al enviudar decidió dejar de ser supervisor de apartamentos y tomar una nueva actividad. Recogía cosas usadas y las vendía, acumulando muchas en su pequeño apartamento cerca de Broadway con la 96 donde vivía con su perro, un terrier mestizo. Pero como el negocio era excesivamente precario, Edward Mueller decidió probar otro tipo de negocio,</span><strong style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;">fabricar su propio dinero.</strong><strong style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;">Edward Mueller fue un falsificador de dólares</strong><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px;"> </span><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;">que tuvo al Servicio Secreto americano diez años completamente perplejo, entre 1938 y 1948. Además, probablemente haya sido el falsificador de dinero que haya asado más tiempo sin ser descubierto. Todo empezó en Nueva York, donde Edward Mueller (cuyo nombre original era</span><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;"> </span><strong style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;">Emerich Juettner</strong><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; text-align: left;">) se mudó a los 13 años tras abandonar su Austria natal.</span></div>
<div class="post-body" style="color: #333333; font-size: 1.2em; line-height: 1.4; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative; width: 670px;">
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
</div>
<h2 style="background-color: white; color: #df721b; font: normal normal normal 1.5em/1 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 1.2em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Los misteriosos billetes falsos</h2>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
<strong>Edward Mueller tenía los conocimientos suficientes para hacer falsificaciones muy burdas</strong>, los había ganado trabajando en su infancia. Tomó una fotografía de estudio de un billete en casa de su hija y fabricó placas de zinc en su casa. En otoño de 1938 ya había sacado su primer billete. Lo secó y en cuanto estuvo listo compró diez centavos de caramelos. Había tenido noventa centavos de beneficio sobre el mismo. Además se dio cuenta de algo que no habían pensado nunca los demás falsificadores. Nadie examina un billete de valor tan pequeño.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Los billetes eran de muy mala calidad. La palabra Washington estaba mal escrita, se leía Wahsington y los ojos de George Washington también estaban mal. El papel no era parecido, sino que era uno normal que se podía comprar en cualquier papelería. Cuando el Servicio Secreto (que tiene dos funciones, luchar contra el dinero falso y proteger al presidente) encontró el primer billete, les pareció una falsificación de lo más burda. Pero también muy difícil de detectar. Por supuesto abrieron un nuevo expediente, el 880.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
<strong>Los billetes empezaron a aparecer, en pequeñas cantidades.</strong> Estos aparecían en estaciones de metro, tiendas, bares, pequeños negocios… Los gastos de Edward Mueller nunca superaban los 50 dólares mensuales, por lo que no dispersaba más de dos billetes al día. Edward Mueller nunca quiso un estilo de vida extravagante, solo vivir él y su perro. Su alquiler eran 25 dólares al mes. Lo máximo que hacía era comprar caramelos para los niños del barrio, era una época en la que eso no resultaba siniestro.</div>
<h2 style="background-color: white; color: #df721b; font: normal normal normal 1.5em/1 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 1.2em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Buscando a un falsificador</h2>
<h2 style="background-color: white; color: #df721b; font: normal normal normal 1.5em/1 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 1.2em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px;">Mientras tanto el servicio secreto tenía problemas para encontrarlo. Acostumbrados a otra escala, cazar a Juettner era matar moscas con cañonazos. A los cinco años sólo se habían puesto en circulación 2.840 dólares y los agentes estaban completamente perplejos de las pequeñas cantidades que se habían puesto en circulación. A los diez años unos cinco mil.</span></h2>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
El Servicio Secreto intentó darle publicidad al tema, pero lo único que consiguió fue que muchos ciudadanos no proporcionaran los billetes a las autoridades y se los quedaran de recuerdo. Según el periodista del New Yorker, StClar McKelway detrás del archivo 880 <strong>había más gente de la que había habido nunca detrás de ningún otro caso de falsificación de dinero.</strong></div>
<h2 style="background-color: white; color: #df721b; font: normal normal normal 1.5em/1 Cambria, Georgia, 'Times New Roman', Times, serif; line-height: 1; margin-bottom: 0.7em; margin-left: 0px; margin-right: 0px; margin-top: 1.2em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Fue un incendio</h2>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Un <strong>incendio en el edificio de apartamentos de Edward Mueller</strong> cambió el curso de la historia tras diez años de vivir de falsificar billetes. Él se salvó, pero su perro murió. Muchas de sus pertenencias se tiraron por los bomberos y mientras que el edificio era reparado el falsificador se mudó a casa de su hija en las afueras.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Nueve chavales de entre diez y quince años estaban jugando en un descampado y encontraron la prensa de Edward Mueller y treinta billetes, que pensaron que eran de juguete. Uno de ellos llevó algunos a casa, y su padre al verlo pensó que era un asunto lo suficientemente serio como para avisar a las autoridades y los llevó a una estación de la calle 100. El servicio secreto al ver la palabra Washington mal escrita se frotó las manos. Por fin empezaban a ver una luz al final del túnel después de diez años quebrándose la cabeza sin obtener ninguna pista.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Edward Mueller fue detenido unos pocos días después, sin tener ningún tipo de problema para confesar lo que había hecho. Parecía gustarle la atención que recibía. Lo único que quería era vivir con su perro y regalar caramelos a los vecinos de vez en cuando. Además nunca había dado más de un billete a la misma persona, por lo que el daño que había causad era mínimo.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
Edward quedó en libertad bajo fianza, a pesar de eso se pasaba por las oficinas del Servicio Secreto a saludar. Cuando fue juzgado a los 73 años, disfrutó todos los minutos que duró el juicio. Nunca en su vida había despertado tanta atención. <strong>Fue sentenciado a un año y un día y la multa fue de un dólar.</strong> De su sentencia sólo cumplió cuatro meses y después se mudó a casa de su hija. Ahí se dedicó a contar como había engañado al servicio secreto durante diez años a todo aquel que quisiera escucharle.</div>
<div style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;">
En 1950 se hizo una <a href="http://www.imdb.com/title/tt0042742/" style="color: #ef6b00; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;">película</a> contando su vida, Burt Lancaster fue el agente del Servicio Secreto y Edmund Gwen lo interpretó a él, llegando a ser nominado a un Oscar por la actuación. Fue invitado al estreno donde disfrutó como un niño. Además <strong>por los derechos de la película obtuvo más dinero que por toda su actividad de falsificador durante diez años.</strong></div>
<div>
<strong><br /></strong></div>
</div>jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-77930444729103667802011-11-01T11:36:00.001+01:002011-11-01T11:36:46.820+01:00madres burkas y marujasSensacional artículo de Arturo Pérez Reverte
http://www.perezreverte.com/articulo/patentes-corso/643/madres-burkas-y-marujas/
Madres, burkas y marujas
XLSemanal - 31/10/2011
En 1991, mientras esperaba en Dahrán la ofensiva norteamericana para liberar Kuwait, presencié un suceso curioso. Frente al mercado Al Shula había un vehículo militar con una soldado norteamericana al volante. En Arabia Saudí está prohibido que las mujeres conduzcan automóviles; así que una pareja de mutawas -especie de policía religiosa local- se detuvo a increpar a la conductora. Incluso uno de ellos le golpeó con una vara el brazo que, con la manga de camuflaje remangada, apoyaba en la ventanilla. Tras lo cual, la conductora -una sargento de marines de aspecto nórdico- bajó con mucha calma del coche y le rompió dos costillas al de la vara. Ésa fue la causa de que durante el resto de la guerra, a fin de evitar esa clase de incidentes, la Mutawa fuese retirada de las calles de Dahrán. Pensé en eso el otro día, al enterarme de un nuevo asunto de chica con problemas por negarse a ir a clase sin el pañuelo islámico llamado hiyab. Y recuerdo la irritación inicial, instintiva, que sentí hacia ella. Mi íntimo malhumor cuando me cruzo en la calle con una mujer cubierta con velo, o cuando oigo a una joven musulmana afirmar que se cubre la cabeza en ejercicio de su libertad personal. Cómo no se dan cuenta, me digo.
Cómo no les escuece igual que ácido en la cara la sumisión, tan simbólica como real, a que se someten. Recuerdo, por ejemplo, que hace cuarenta años mi madre aún necesitaba la firma de su marido para sacar dinero del banco. Y me llevan los diablos. Tanto camino, me digo. Tanta lucha y esfuerzo de las mujeres para conseguir dignidad, y ahora una niñata y cuatro fátimas de baratillo -como las llamaría el capitán Haddock- pretenden hacernos volver atrás, imponiendo de nuevo, en la Europa del siglo XXI, la sumisión irracional al hombre y a las reglas hechas por el hombre.
Reclamando tolerancia o respeto para esa infamia. Pero no es tan simple, concluyo cuando me sereno. Incluso aunque digan actuar con libertad, esas mujeres siguen siendo víctimas de un mundo cuyas reglas fueron impuestas por los hombres para garantizarse el control de su virginidad, su fertilidad y su fidelidad. Después de escucharnos decir lo libres de conducta que pueden y deben ser, esa muchacha o la señora del velo van a casa y se cruzan en la escalera con el imán de su mezquita, que vive en el quinto piso, o con el chivato hipócrita que a veces incluso luce una pasa en la frente -ese moratón de pegar cabezazos en el suelo al rezar, para que todos sepan lo buen musulmán que es uno-, que vive en el segundo. Y con ellos, y con el padre, el marido o el abuelo que están en casa, esas mujeres tienen que convivir cada día, y casarse, y criar familia, y ser respetadas por una comunidad donde la religión suele estar por encima de las leyes civiles, o las inspira.
Una sociedad endogámica, especializada en marcar y marginar -cuando no encarcelar o ejecutar- a quienes discrepan o se rebelan; y cuyos más radicales clérigos, esos imanes fanáticos que recomiendan a sus fieles machacar a las mujeres para que no se desmanden, son tolerados y hasta amparados, de manera suicida, por una sociedad occidental demagoga, estúpida, desorientada, con el pretexto de unos derechos y libertades que ellos mismos niegan a sus feligreses. Todo eso, en vez de ponerlos en la frontera en el acto, si son extranjeros, o meterlos en la cárcel, si son de aquí, cada vez que humillan o amenazan a la mujer en una prédica.
Una sociedad, la nuestra, incapaz de plantearse el verdadero nudo del problema: si una niña que durante catorce años fue a un colegio normal, entre chicos y chicas, resuelve de pronto ponerse un pañuelo en la cabeza, es que algo con ella estuvo mal hecho. Que alguna cosa no funciona en el método; falto de una firmeza, una claridad de ideas y una persuasión que no tenemos. En todo caso, si a menudo es la mujer la que elige ser hembra sumisa en vez de sargento de marines, y con su pasividad o complicidad educa a los hijos en esclavitudes idénticas a las que ella sufrió, tampoco es justo que el Islam se lleve todas las bofetadas. En materia de esclavitudes, sumisión y transmisión de costumbres a hijas y nietas, igual de infame es el espectáculo de esas españolísimas marujas presuntamente modernas, libres y respetables, que babean en programas de televisión aplaudiendo y diciendo te queremos y envidiamos, guapa, bonita, a fulanas que encarnan lo que, en el fondo y a menudo en la forma, a ellas les habría gustado ser, y desean para sus propias hijas: analfabetas sin otra aspiración en la vida que convertirse en putizorra de plató televisivo. Y esos aplausos y admiración -hasta autógrafos les piden, las tontas de la pepitilla- me parecen tan indignos y envilecedores para las mujeres, tan turbios y reaccionarios, como un burka que las cubra de la cabeza a los pies.jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-47342872617617534502011-08-26T20:30:00.002+02:002011-08-26T20:39:49.409+02:00Primer mensaje de LinuxEl 25 de agosto de 1991 un joven estudiante de informática de la Universidad de Helsinki llamado Linus Torvalds publicaba un mensaje en las listas de distribución de Usenet.
<br />
<br />https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ
<br />
<br />Hola a todos los que estáis ahí fuera usando minix -
<br />Estoy desarrollando un sistema operativo (libre) (sólo por hobby, no será grande y profesional como gnu) para clónicos de los AT 386(486). Esta idea está madurando desde abril, y ahora está comenzando a estar lista. Me gustaría recibir cualquier comentario en cosas que a la gente le gustan y no le gustan de minix, ya que mi sistema operativo se parece a él un poco (misma disposición física del sistema de ficheros (por razones prácticas) entre otras cosas).
<br />Ya he trasladado bash(1.08) y gcc(1.40), y parece que las cosas funcionan. Esto implica que podría tener algo práctico en pocos meses, y me gustaría saber qué características le gustarían más a la gente tener. Será bienvenida cualquier sugerencia, pero no prometo que las implementaré todas ellas :-)
<br />Linus (torv…@kruuna.helsinki.fi)
<br />PD: Sí – está libre de cualquier código minix, y tiene un sistema de ficheros multi-hilo. NO es portable (usa el cambio de tareas del 386, etc) y probablemente nunca soporte otra cosa que no sean los discos duros de los AT, es todo lo que tengo :-(
<br />
<br />
<br />
<br />Y mucha gente critica que Linux no es un sistema operativo (SO) que sólo es un kernel.
<br />
<br />
<br />Pero no es así. Linux es un Sistema Operativo.
<br />Un sistema operativo es un programa que gestiona el hardware, los procesos y ofrece un API.
<br />
<br />Eso es lo que hace Linux.
<br />
<br />Otra cosa son los sistemas microkernel (que Linux no lo es).
<br />En un sistema microkernel, existe un kernel (¿pequeño?) y buena parte del sistema operativo se ejecuta como procesos normales.
<br />
<br />En el caso de Linux, que es monolítico, el equivalente al kernel es el SO.
<br />
<br />
<br />También se podría entender que Linux es el corazón, el núcleo (kernel) de un sistema mayor (GNU, o Ubuntu o lo que se quiera). Pero el sistema mayor, no es técnicamente un sistema operativo.
<br />
<br />Si cambias el compilador, el intérprete de comandos, el gestor de ventanas o el escritorio, no cambias el sistema operativo, sigue siendo el mismo sistema operativo.
<br />
<br />
<br />En sistemas operativos monolíticos (como es Linux) no tiene mucho sentido hablar de kernel, porque todo el SO es el kernel.
<br />jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-33848943914966084562011-08-01T14:29:00.001+02:002011-08-01T14:29:48.353+02:00¿Cómo se buscan a los programadores?http://blog.jitbit.com/2011/05/what-if-drivers-were-hired-like.html<br /><br /><br /><br />What If Drivers Were Hired Like Programmers?<br /><br /><br />What if drivers were hired like software developers?<br /><br />Job title: car driver<br /><br />Job requirements: professional skills in driving normal- and heavy-freight cars, buses and trucks, trolley buses, trams, subways, tractors, shovel diggers, contemporary light and heavy tanks currently in use by NATO countries.<br /><br />Skills in rally and extreme driving are obligatory!<br />Formula-1 driving experience is a plus.<br /><br />Knowledge and experience in repairing of piston and rotor/Wankel engines, automatic and manual transmissions, ignition systems, board computer, ABS, ABD, GPS and car-audio systems by world-known manufacturers - obligatory!<br /><br />Experience with car-painting and tinsmith tasks is a plus.<br /><br />The applicants must have certificates by BMW, General Motors and Bosch, but not older than two years.<br /><br />Compensation: $15-$20/hour, depends on the interview result.<br /><br />Education requirements: Bachelor's Degree of Engineering.jose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0tag:blogger.com,1999:blog-36112400.post-66666349003578014482011-07-11T15:30:00.000+02:002011-07-11T15:31:25.833+02:00Linux es diabólico, malo, muy malohttp://www.enterate.com.pa/Espacios/Mi-vida-entre-Bits/Linux-es-diabolico-muy-malo.html<br /><br /><br /><br /><br />Quienes hemos tenido la oportunidad de conocer el entorno LINUX, sabemos que este es un sórdido mundo, donde lo malo, demoníaco y bizarro se presenta en la más diabólica y cruel de sus expresiones.<br />Linux es la más reciente mutación de un ancestral sistema operativo llamado UNIX, y heredó de este la mayoría de sus genes maléficos. Peor aún, hoy en día cualquiera puede verse inmerso, gratuitamente y por descuido, en un submundo absorbente lleno de extrañas criaturas, malignos conjuros y oscuros comandos.<br />En el centro de cada servidor Linux, vive un gran monolito al que todos llaman kernel. Alrededor de él, habita un gran número de perversas entidades, llamados procesos. Nadie parece conocer, a ciencia cierta, para qué sirven. Tras 20 años de experiencia en Linux/Unix, uno puede llegar a conocer algunos, y hasta saber lo que otros hacen. Sin embargo, la gran mayoría vive incógnita, actuando a sus anchas, obedeciendo las instrucciones del kernel y succionando la vida de nuestro computador.<br />Es en este punto donde se vuelve inquietante... Muchos de estos procesos llegan a convertirse en demonios (daemons). Por increíble y sobrenatural que parezca, los demonios no utilizan conjuros ni hechizos para reproducirse. Ellos utilizan un tenedor (fork) para crear otros demonios llamados hijos o niños (childs), que a su vez, imitan a su creador y siguen ciegamente sus pasos.<br />Este infernal purgatorio puede crecer y expandirse por sí mismo. Siendo Linux un sistema operativo multiusuario y multitarea, cientos de estos pequeños demonios pueden ser creados para abastecer a cuantas ingenuas víctimas humanas accedan al sistema; convirtiendo al servidor en un verdadero infierno, plagado de demonios, cada uno con vida y voluntad propia.<br />En la medida en la que el número de usuarios se reduce, sucede algo espeluznante. Los demonios padres comienzan a matar (kill) a sus hijos (child), sin piedad ni compasión alguna. Más aún, existen terribles comandos para matarlos a todos (killall) que asustan por la magnitud de la masacre que pueden ocasionar. Para una muerte compasiva existe el soft kill, y para las mas crueles el hard kill. El infame comando total kill, no requiere explicación. Como ven, es abundante el tipo de muertes que pueden darse.<br />¿ Le suena escalofriante ? Espere a leer esto:<br />En algunas ocasiones, un proceso niño (child) termina o "muere" (die) sin que su padre o creador se entere. Se dice que el proceso niño entra en estado difunto (defunct) o mejor conocido como zombie. Santo cielo! ... Zombies ??? ... El desafortunado proceso hijo, ya como zombie, no tiene memoria propia, y divaga errante, inútil, sin ser notado, por ninguno de los otros procesos activos del sistema.<br />A diferencia de los procesos y demonios "normales", los temidos procesos zombies son inmunes al comando kill. Cruelemente, únicamente su padre tiene el poder de eliminarlo, cuando se le instruya con el comando wait, y lo liberará de su penuria removiendo su ID de la tabla de procesos vivos; enviándolo finalmente al lugar especial donde van los procesos cuando termina su existencia. Si el proceso padre se resiste, el administrador del sistema se verá obligado a matar (kill) al proceso padre (parent), lo que causará también la muerte de toda su descendencia, procesos normales y zombies por igual..... Una masacre ciertamente inmisericorde.<br />Por otro lado, existen también procesos huérfanos (orphans), cuyo padre y creador ha terminado su existencia. En este caso, el proceso huérfano es adoptado (adopted) por una maldita entidad suprema, el gran demonio creador de todos los demonios, llamado init. En lo sucesivo, será él quien controlará los actos de los huérfanos por el resto de su existencia. Para asegurar la incuestionable obediencia que init exige, la mayoría de los demonios en un sistema Linux/Unix tienen que ser huérfanos!. Solo así el malvado init podrá tener el control total de su maléfico infierno.<br />El Satán o Lucifer de este averno, llamado superusuario (su), es quien desde lo más reservado de una oscura consola (console) dirige los destinos de este fantasmal inframundo. Es él quien al alcance de sus dedos, ostenta el poder de crear y administrar múltiples infiernos; y procurando la creación de demonios, solo para exterminarlos posteriormente.<br />Toda una historia de terror....<br />Ciertamente, la maligna imaginación de los desarrolladores de UNIX, al final de la década del 60, trajo un velo demoníaco que 40 años después, aún persiste en el sistema operativo y en todas sus variaciones. Como muestra, les indico que FreeBSD, otro sistema operativo similar a UNIX, adoptó un diablillo como logotipo; la imagen que apareciarán a la derecha de estas lineas.<br />Quienes sucumbimos al atrayente mal de esta tecnología, estamos condenados a vivir bajo su tenebrosa influencia, atrapados y errantes, sin ánimos de conocer ni explorar otros mundos.<br />Vivimos cautivados por la atracción de lo maligno.<br />Fabio Bettiol<br /><br /><br />Tomado de: Linux es diabólico, muy malo. http://www.enterate.com.pa/Espacios/Mi-vida-entre-Bits/Linux-es-diabolico-muy-malo.html#ixzz1RnqmBHVUjose luishttp://www.blogger.com/profile/05970962599679758460noreply@blogger.com0