Contenido
La otra caída del sistema
// ------------------------------------------------------------------------------------------------------------------------------- // PHOTOSWIPE
var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) var parseThumbnailElements = function(el) { var thumbElements = el.childNodes, numNodes = thumbElements.length, items = [], figureEl, linkEl, size, item;
for(var i = 0; i element
// include only element nodes if(figureEl.nodeType !== 1) { continue; }
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute('data-size').split('x');
// create slide object item = { src: linkEl.getAttribute('href'), w: parseInt(size[0], 10), h: parseInt(size[1], 10) };
if(figureEl.children.length > 1) {
//
if(linkEl.children.length > 0) { // thumbnail element, retrieving thumbnail url item.msrc = linkEl.children[0].getAttribute('src'); }
item.el = figureEl; // save link to element for getThumbBoundsFn items.push(item); }
return items; };
// find nearest parent element var closest = function closest(el, fn) { return el && ( fn(el) ? el : closest(el.parentNode, fn) ); };
// triggers when user clicks on thumbnail var onThumbnailsClick = function(e) { e = e || window.event; e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
if(!clickedListItem) { return; }
// find index of clicked item by looping through all child nodes // alternatively, you may define index via data- attribute var clickedGallery = clickedListItem.parentNode, childNodes = clickedListItem.parentNode.childNodes, numChildNodes = childNodes.length, nodeIndex = 0, index;
for (var i = 0; i = 0) { // open PhotoSwipe if valid index found openPhotoSwipe( index, clickedGallery ); } return false; };
// parse picture index and gallery index from URL (#&pid=1&gid=2) var photoswipeParseHash = function() { var hash = window.location.hash.substring(1), params = {};
if(hash.length getThumbBoundsFn section of documentation for more info var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail pageYScroll = window.pageYOffset || document.documentElement.scrollTop, rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; }
};
// PhotoSwipe opened from URL if(fromURL) { if(options.galleryPIDs) { // parse real index when custom PIDs are used // http://photoswipe.com/documentation/faq.html#custom-pid-in-url for(var j = 0; j
Por razones hasta cierto punto obvias, las transacciones bancarias por medio de internet enfrentaron una fuerte resistencia inicial. Quien esto escribe se incluye. Para empezar, era muy complicada: implicaba acudir a una sucursal y tramitar un token y aprender los pasos para ingresar.
Pero, además, suponía renunciar a una interacción en la que un cliente ve de frente al cajero, le confía la operación y recibe un documento comprobatorio.
Como muchas otras actividades en línea, sonaba riesgosa. Por no hablar del miedo al hackeo que desde hace lustros estimulan las películas y las novelas.
Hoy, cada vez más gente depende para sus operaciones cotidianas de aplicaciones telefónicas ligadas a los bancos. Lo que antes parecía imposible: hoy, miles de pesos pasan de nuestras manos a otras con sólo hacer clicks. Adiós a las filas.
Recibimos depósitos y pagamos cuentas sin mediar ya monedas, billetes o chequeras. Y buena parte de esta creciente aceptación se documenta cada vez que falla alguna aplicación y se vuelve tendencia en Twitter.
Sufragio aún no efectivo
Lo que ya se pudo para manejar dinero, no parece que sea posible aplicar por ahora para otro valor apreciado por la sociedad: el voto.
Existiendo la tecnología desde hace años –por ejemplo, la que facilita recoger efectivo en los cajeros electrónicos–, el sufragio digital es todavía una acción esporádica, a la que se ha recurrido de manera experimental o en contextos muy particulares.
En México, por ejemplo, el Instituto Nacional Electoral anunció el pasado 30 de enero que presentará un sistema de voto por internet para los mexicanos que residen en Estados Unidos. Y en un comunicado del 23 de diciembre señala que en las elecciones para este año en Coahuila e Hidalgo la ciudadanía podrá emitir su sufragio en algunas casillas mediante pantalla táctil.
A estas alturas, en las que desde el teléfono se cubre ya los pagos de prácticamente todos los servicios, el voto electrónico debiera haber desplazado a su versión analógica, sea en papel o con ábaco.
Pero en esta materia se sigue imponiendo la desconfianza… y el desconocimiento.
Esto último es lo que parece haber puesto de manifiesto en el desastre en el que se convirtió el estreno de una aplicación telefónica para contar los votos de los precandidatos presidenciales demócratas en Iowa. Sí, en Estados Unidos, uno de los países con la tecnología más avanzada del mundo.
IowaReporter es el nombre del software que protagonizó las crónicas electorales de un proceso en el que habitualmente la nota la da el candidato ganador.
Literalmente, como diría una frase clásica por acá, se les cayó el sistema. Los caucus de Iowa, que en la narrativa tradicional marcan el banderazo para la carrera por la candidatura a la Casa Blanca, no tuvieron resultados el mismo lunes, sino 24 horas después.
Complicaciones de más
Los caucus son literalmente asambleas vecinales cuyo complicado funcionamiento suele retrasar los conteos.
Pero esta vez, el retraso fue atribuido a una aplicación desarrollada por la Shadow. Una firma cuya misión declarada es “construir poder político para el movimiento progresista mediante el desarrollo de herramientas asequibles y fáciles de usar”.
Ni construyó poder ni diseñó una herramienta fácil. Los reportes de prensa documentaron el caos generado por una app que se distribuyó como versión beta y no mediante las tiendas de descarga habituales.
Con problemas de estabilidad, propios de un software inacabado, la aplicación resultó un sistema difícil de instalar. Tenía instrucciones complicadas supuestamente para garantizar seguridad. Pero terminó más bien bloqueando a sus usuarios, quienes no pudieron recopilar o difundir la información requerida.
Con una nota que pareció sarcasmo ante la retórica “democrática” del desarrollador de la aplicación, la página Motherboard del portal Vice publicó el enlace para descargar el fallido programa. Lo hizo con la justificación de que “la confianza y la transparencia son fundamentales para el proceso electoral de Estados Unidos”.
“Los expertos”, dice Motherboard, “aún están de acuerdo en que el método más confiable y seguro de contar votos es usar una solución offline mediante una copia de respaldo en papel”. Qué mejor homenaje al modo a la antigüita.
Comentarios
// Obtener todos los elementos con clase .col-md-12 var colElements = document.querySelectorAll('.col-md-12');
// Iterar sobre cada elemento colElements.forEach(function(element) { // Verificar si tiene un hijo inmediato con clase .titulo-region var tituloRegion = element.querySelector('.titulo-region');
if (tituloRegion) { // Agregar la clase .is-sticky al elemento padre element.classList.add('is-sticky'); } });
// Obtener el elemento article dentro de .fila-especial-v2 .p50 var articleElement = document.querySelector('.home .fila-especial-v2 .p50 article');
// Obtener el texto del elemento .z-foto .bajada p var bajadaText = articleElement.querySelector('.z-foto .bajada p').textContent;
// Crear un nuevo elemento para mostrar el texto obtenido var textoElement = document.createElement('p'); textoElement.textContent = bajadaText;
// Obtener el elemento .z-txt .titulo dentro del article var tituloElement = articleElement.querySelector('.z-txt .titulo');
// Insertar el nuevo elemento al final del article articleElement.appendChild(textoElement);
Cortesía de Proceso.