Por favor lean este excelente artículo de @micronauta: http://blog.canal.cl/2010/07/wi-fi-podria-degradarse-en-chile-por.html
Por favor lean este excelente artículo de @micronauta: http://blog.canal.cl/2010/07/wi-fi-podria-degradarse-en-chile-por.html
Después de casi 5 años usando MovableType este blog ha cambiado de tecnología y de look. Así que espero que les guste el nuevo diseño, y disculpen las molestias que este cambio pueda causar.
Próximamente retomamos las "transmisiones". Gracias por leer este blog, y si tienen comentarios, o indicaciones sobre el nuevo look se los agradeceré.
Por cierto la pregunta es interesante:
"¿cual es la forma más eficiente de ordenar un millón de enteros de 32 bits?"
Seguro que no elegirían bubble sort, en eso el Presidente Obama tiene toda la razón.
Pero, ¿cuál es la respuesta a esta pregunta? En el próximo post la respuesta.
Que algo sea lógico no significa que sea razonable, ni tampoco lo inverso. Muchos confunden lo lógico con lo razonable, ese es un error bastante común.
Hay muchas lógicas, y un sentencia que es una inferencia válida (es decir, es lógica) en un sistema puede no serlo en otro. Para darles un ejemplo simple, piensen en una sentencia como "La casa de la esquina es roja". Mucha gente dirá que es lógico que esa sentencia ya sea verdadera o falsa: después de todo, la casa es roja o la casa no es roja. De hecho, la mayoría estaría de acuerdo en que la sentencia "La casa es roja o no es roja" debe ser verdadera.
En la lógica más común, llamada la lógica de predicados, esto es absolutamente correcto. La sentencia original es verdadera o falsa, la sentencia con un "o" entre medio debe ser verdadera. Pero en otra lógica común, llamada lógica intuicionista, esto no es verdad. En lógic intuicionista, hay tres posibles valores de verdad: algo puede ser verdad (lo que significa que hay una prueba de que es verdad); algo puede ser falso (lo que significa que hay una prueba de que es falso); y algo puede ser desconocido hasta el momento (lo que significa que no hay prueba en ningún sentido).
Adicionalmente a tener distintas maneras de definir lo que es verdad o demostrable, las lógicas pueden describir diferentes cosas. Nuestra buena, vieja y familiar lógica de predicados es inútils para describir cosas que involucren el tiempo, realmente no hay una buena manera en la lógica de predicados de decir "Estoy siempre hambriento a las 6pm". Pero hay otras lógicas, llamadas lógicas temporales que están diseñadas específicamente para construir sentencias sobre el tiempo.
Ahora, lo interesante de la lógica es que es totalmente mecanizable. No necesitas entender las sentencias dentro de un razonamiento para poder realizar inferencias. Eso es importante entenderlo, porque muchas personas se enredan y no notan que sus razonamientos no siguen una cadena lógica, y es fácil demostrarles que están equivocados, sin tener que emitir ningún jucio de valor a sus palabras. Eso se puede hacer, pero no necesariamente sería algo razonable, sobretodo si estás discutiendo con tus amigos.
Mi anterior apunte sobre contol de versiones tuvo buena aceptación, y recibí comentarios de gente que no es desarrolladora de software, lo que es bueno. Insisto en que el control de versiones es una herramienta que tiene aplicaciones fuera del mundo de la programación.


Image via Wikipedia
¿Usaron alguna vez SCCS? ¿No? ¿Que tal RCS? ¿Tampoco? Bah, son ustedes muy jóvenes. Pero, usan un sistema de control de versiones, ¿verdad? Hoy es raro que un desarrollador no use un sistema de control de versiones como CVS o Subversion (conocido también como SVN).


[...] la imitación se transforma en un instrumento clave de navegación social, imitar al otro implica necesariamente, primero, un reconocimiento de sus señales diferenciadoras y luego una identificación con ellas, constituyéndose en el primer paso en la generación de comunidad la cual termina de constituirse cuando unos y otros hacen suyas y consolidan esas señales como un código compartido o las rechazan estableciendo la diferencia. Es la imitación la que nos otorga esa seguridad de que no estamos equivocados, de que no nos hemos salido erróneamente de los márgenes delimitados por el grupo al cual pertenecemos, o bien no nos alejamos aun más de ese grupo de personas al cual queremos que nos relacionen. Es por tanto la imitación la manera más segura de sentirse parte de algo, y por tanto de sentirse especial y distinguido respecto de quienes aún no logran alcanzar este carácter de especial. Es también desde aquí desde donde buscamos la diferencia, aquello que no nos hace como esos, pero que indefectiblemente busca encontrar su sentido en otros, otros.
La imitación es la base para empezar a innovar. Creo que estas lecciones son importantes, y debemos reflexionar sobre esto, es gratificante escuchar estas lecciones.
Imagen via Wikipedia
Auto servicio a demanda. Un consumidor puede unilateralmente provisionar capacidades computacionales, tales como tiempo de servidor y almacenamiento en red, de acuerdo a la necesidad y en forma automática sin requerir de una interacción humana con cada proveedor de servicio.Amplio acceso a través de la red. Las capacidades están disponibles a través de la red y se accesan a través de mecanismos estándares que promueven el uso desde plataformas clientes diversasa (por ejemplo, teléfonos móviles, laptops, PDAs).Disponibilidad de recursos. Los recursos computacionales del proveedor se agrupan para servir a múltiples consumidores usando un modelo de arriendo múltiple, con diferentes recursos físicos y virutales asignados dinámicamente y reasignados de acuerdo a la demanda del consumidor. Hay un sentido de independencia de la localización en que el consumidor generalmente no tiene control o conocimiento de la localización exacta de los recursos provistos, pero puede especificar la localización a un nivel más alto de abstracción (por ejemplo, un país, estado o datacenter). Ejemplos de estos recursos incluyen el almacenamiento, procesadores, memoria, ancho de banda y máquinas virtuales.Rápida Elasticidad. Las capacidades pueden ser rápida y elasticamente provisionadas, en algunos casos automáticamente, para escalar rápidamente y ser liberadas rápidamente para reducir la escala de operación. Para el consumidor, las capacidades disponibles para el provisionamient a menudo parecen ser ilimitadas y pueden ser compradas en cualquier cantidad en cualquier momento.Servicio Medido. Los sistemas en nube automáticamente controlan y optimizan el uso de recursos al aprovechar las capacidades de medición en cierto nivel de abstracción apropiado para el tipo de servicio (p.ej. almacenamiento usado, procesamiento, ancho de banda, cuentas de usuario activas). El uso de recursos puede ser monitoreado, controlado y reportado, proveyendo transparencia para ambos, el proveedor y el consumidor del servicio utilizado.
Nube tipo Software como un Servicio(SaaS). La capacidad provista para el consumidor es usar las aplicaciones del proveedor corriendo en una infraestructura en la nube. Las aplicaciones son accesibles desde varios dispositivos clientes a través de una interfaz de cliente "delgada" como un navegador web (p.ej. correo electrónico en la web). El consumidor no administra o controla la infraestructura de nube subyacente que incluye redes, servidores, sistemas operativos, almacenamiento o incluso las capacidades individuales de la aplicación, con la posible excepción de ciertas configuraciones específicas para el usuario en la aplicación.
Nube tipo Plataforma como un Servivio (PaaS). La capacidad que se le provee al consumidor es la de desplegar en la infraestructura en la nube las aplicaciones, propias o adquiridas, creadas usando lenguajes de programación y herramientes soportadas por el proveedor. El consumidor no administra o controla la infraestructura de nube subyacente, incluyendo redes, servidores, sistemas operativos o almacenamiento, pero tiene control sobre las aplicaciones desplegadas y posiblemente sobre las configuraciones del entorno de alojamiento.Nube tipo Infraestructura como un Servicio (IaaS). La capacidad provista al consumidor es provisionar procesamiento, almacenamiento, y otros recursos computacionales fundamentales donde el consumidor es capaz de desplegar y ejecutar software arbitrario, el que puede incluir sistemas operativos y aplicaciones. El consumidor no administra o controla la infraestructura de nube subyacente pero tiene control sobre los sistemas operativos, almacenamiento, aplicaciones desplegadas y posiblemente un control limitado sobre componentes selectas de las redes (p.ej. los firewalls de sus hosts).
Modelos de Implementación
Nube Privada. La infraestructura de nube es operada solamente por una organización. Puede ser manejadas por la organización o una tercera parte y puede existir siempre, o ante una situación específica.
Nube Comunitaria. La infraestructura es compartida por varias organizaciones y soporta a una comunidad específica que tiene preocupaciones compartidas (p.ej. misión, requerimientos de seguridad, políticas, y consideraciones de conformidad). Puede ser administradas por las organizaciones o una tercera p
arte y puede existir permanentemente o ante situaciones específicas.
Nube Pública. La infraestructura es provista al público general o a un grupo de industria grande y es propiedad de una organización que vende servicios en nube.
Nube Híbrida. La infraestructura de nube es la composición de dos o más nubes (privadas, comunitarias o públicas) que permanecen como entidades únicas pero están enlazadas juntas por una tecnología estandarizada o propietaria que permite la portabilidad de datos y aplicaciones. (ej. cloud bursting (ruptura de nubes) para permitir el balanceo de carga entre nubes).
Estas preguntas una vez eran sólo del interés de los especialistas en computación, pero estas preguntas ahora son preocupación de gente en todos los campos de la ciencia, ingeniería y aún en la política (menos en Chile, claro).La computación es la ciencia de los procesos de información. Se han descubierto procesos de información en las estructuras profundas de todos estos campos.Descifrar los misterios de estos procesos permitirá lograr grandes avances en estos campos. Los principsio de la computación están ayudando en esta tarea.La computación necesita un nuevo lenguaje para sus principios básicos. La forma tradicional de enfocar las ideas en las tecnologías de computación coloca al computador, mas que a la computación, en el centro. El computador es la herramienta, la computación el principio.El proyecto Great Principles of Computing está desarrollando un lenguaje para discutir los principios fundamentales de la computación. Este marco de referencia está ayudando a fomentar la colaboración entre la computación y otros campos. Está ayudando a las innovaciones exponiendo las conexiones antes no vistas entre las tecnologías. Está ayudando a comunicar la alegría, el placer de la computación a la gente jóven, quienes pueden ver ahora como estos principios les sirven en su vida diaria, aún cuando se encuentren desconectados de sus computadores.
Peter Denning, Image via Wikipedia
iniciativa liderada por Peter Denning.
Computación (sentido y límites de la computación)Comunicación (transmisión confiables de los datos)Coordinación (cooperación entre las entidades en red)Recolección (almacenamiento y recuperación de la información)Automatización (sentido y límites de la automatización)Evaluación (predicción del desempeño y planificación de la capacidad)Diseño (construcción de sistemas de software confiables)
Estas categorías son el resultado de un anáñisis funcional de muchas tecnologías y aplicaciones de la computación.
- Los sistemas computacionales se construyen de "elementos de procesamiento" que procesas y almacenan información (computación, recolección).
- Los elementos de procesamiento intercambian información (comunicación).
- Los elementos de procesamiento cooperan hacia una meta común (coordinación)
- Los humanos delegan las tareas a los sistemas de elementos de procesamiento (automatización).
- Los humanos predicen la velocidad y capacidad de los sistemas (evaluación) y
- Los humanos descomponen los sistemas en elementos de procesamiento y organizan su construcción (diseño).
Estas categorías son ventanas para observar el espacio de conocimiento de la computación, más que zonas o separaciones. Cada ventana ve el espacio de una manera distintiva, pero la misma cosa puede ser observada por más de una ventana. Por ejemplos, los protoco
los de internet, a veces son vistos como comunicación de datos, a veces como mecanismos de coordinación y a veces como medios para la recolección.