Ronda de chupitos de HCl para todos y que le den al gobierno!

Otra tira de mis moñecos de palo, igual hasta les hago una sección.
El derecho de acceso viene recogido tanto en la RGPD europea, en su artículo 15, como en la LOPDGDD española. Este derecho nos garantiza el poder obtener información del tratamiento que se realiza sobre nuestros datos personales. En el caso de que se esté realizando dicho tratamiento, podremos obtener la siguiente información:
Además, el responsable del tratamiento deberá informarnos de la posibilidad de interponer una reclamación ante una autoridad de control (en españa al AEPD) y de poder ejercer nuestros derechos de oposición, rectificación, limitación del tratamiento o supresión de dichos datos.
Al igual que comentábamos con el derecho de supresión, el derecho de acceso no es ilimitado y existen una serie de supuestos en los que no podremos ejercerlo, que será cuando los datos sean tratados para los siguientes fines:
El responsable del tratamiento deberá responde a nuestra solicitud en el plazo de un mes, tanto si existen datos como si no, aunque el plazo podrá alargarse dos meses dependiendo de la complejidad y la carga de trabajo. El ejercicio de este derecho será gratuito, aunque podrá exigirse un pago por él o rechazarse la solicitud en caso de que se haga un uso repetitivo o abusivo del mismo (imaginad que un grupo de gente para atacar a una empresa mandara una solicitud de acceso a sus datos cada hora). Ojo, porque si ejercemos este derecho más de dos veces en un plazo de seis meses se podrá considerar como repetitivo.
Como siempre, a través del a AEPD tenemos disponible un formulario en PDF para ejercer nuestro derecho.
Veamos el caso práctico que me encontré: una aplicación web que para imprimir un documento abre un popup con la previsualización del mismo, cuando pulsas el botón de imprimir debería abrirse el diálogo de impresión y después de aceptar el popup debería cerrarse… pero resulta que si bien en el Safari y el Internet Explorer lo hace correctamente, en el Chrome o en el Firefox se cierra la ventana antes de que se abra el diálogo de impresión. ¿Cómo hacemos para que se cierre en todos los navegadores automáticamente esa ventana tras confirmar el diálogo de impresión?
Pues como el objeto window en Javascript es capaz de reconocer el evento de que se ha cerrado la ventana de impresión (evento onafterprint), bastará con que programemos que se ejecute window.close() cuando se de dicho evento. El código sería:
window.onafterprint = function () {
window.close();
}
El derecho de supresion viene recogido en el artículo 17 del RGPD y básicamente nos garantiza que podremos solicitar al responsable del tratamiento de nuestros datos personales que los elimine y este tendrá que hacerlo, siempre que se cumplan ciertas circunstancias:
Este derecho fue uno de los más comentados cuando se lanzó el reglamento pues se permite aplicarlo de manera específica a los buscadores de internet, una práctica que se conoció como «derecho al olvido«, que permite eliminar nuestros datos de los resultados de las búsquedas de, por ejemplo, Google o DuckDuckGo y que levantó cierta polémica en su momento, pues se considera que este derecho puede entrar en colisión con los derechos a la libertad de información y libertad de expresión.
También hay que puntualizar que este derecho no es ilimitado, la supresión de los datos no será posible cuando estos sean necesarios para el cumplimiento de una obligación legal, para el cumplimiento de una misión realizada en interés público o en el ejercicio de poderes públicos conferidos a la persona responsable, por razones de interés público, en el ámbito de la salud pública, con fines de archivo de interés público, fines de investigación científica o histórica o fines estadísticos, o para la formulación, el ejercicio o la defensa de reclamaciones, además de los derechos a la libertad de información y de expresión mencionados ya en el párrafo sobre buscadores.
Para ejercitar este decho la AEPD nos facilita desde su web un formulario que podemos cubrir para ejercer este derecho.
Resulta me veía con una cuestión trabajosa: en una aplicación web tenía que hacer una ventana de alerta personalizada que sustituyera al window.alert() nativo del navegador. La parte de diseñar la nueva ventana no era tan laboriosa, la labor pesada y repetitiva venía del tener que localizar todas las ocurrencias de window.alert() diseminadas por el código y cambiarlas por la nueva función. Y ahí pensé «¿y si pudiera cambiar el window.alert() por la nueva función?«. Hay un fichero de javascript que está presente en todas las pantallas, así que solo tendría que introducirlo allí.
¿Y cómo reescribimos la función window.alert()? Pues simplemente así:
window.alert = function(){}
Asignando una nueva función a window.alert() sobreescribe su comportamiento nativo por el indicado. Veámoslo de nuevo con más o menos todo el código que lleva:
//alert personalizado, recibe el mensaje a mostrar y el elemento sobre el que poner el foco si es un mensaje de error
window.alert = function(msg,el,isError){
var left = parseInt((screen.width - 750) / 2);
var top = parseInt((screen.height-300)/2);
var ventana = window.open("AvisoNuevo.asp?e="+isError+"&m="+msg,"modal","width=750,height=300,top="+top+",left="+left+",scrollbars=auto,resizable=no,menubar=no,toolbar=no");
if(isError && el!=null && el!="" && el!=false){
try {
document.getElementById(el).focus();
}
catch (e) { return; }
}
}
Aquí sigo trabajando en mi primera aplicación corriendo sobre Electron.js y me están saliendo canas por diversos errores que me aparecen a la hora de integrar. Uno de ellos ha sido recibir constantemente el error «require is not defined«. Una de las causas de este error suele ser que la integración con NodeJS está deshabilitada, por seguridad este parámetro viene deshabilitado por defecto para evitar ataques que puedan, por ejemplo, borrar ficheros de nuestro equipo remotamente si cargamos una página no segura. En caso de que estemos cargando una aplicación local podemos ir al main.js y activarlo desde allí configurando las preferencias de nuestro ventana web:
webPreferences: {
contextIsolation: false,
nodeIntegration: true,
nodeIntegrationInWorker: true,
enableRemoteModule: true
}
Es posible que esta configuración nos genere un nuevo conflicto entre jQuery y NodeJS ya que ambos intentan sobreescribir la función require(). Esto puede solucionarse añadiendo esta línea antes de la carga de jQuery:
<script>
window.nodeRequire = require;
delete window.require;
delete window.exports;
delete window.module;
</script>
La definción técnica del término matriz traspuesta es «el resultado de reordenar la matriz original mediante el cambio de filas por columnas y las columnas por filas en una nueva matriz». Imaginemos que tenemos un array en Python tal que así:
x = [[1,2,3],
[2,3,1],
[3,1,2]]
Ahora queremos meter esa matriz en otra variable, pero tras trasponerla. Si bien en la mayoría de los lenguajes es posible trasponer la matriz utilizando una serie de bucles anidados, en Python podremos hacerlo de forma muy sencilla sirviéndonos de la función zip() y el operador *. Para almacenar la matriz traspuesta en otra variable bastaría con hacer:
y=zip(*x)
Y solo con esa línea ya habría traspuesto nuestra matriz original.
Hace años que no tengo tele, en concreto desde el 2016. No es ningún tipo de alegato pseudointelectual como el que hacía un profesor de filosofía que tuve en el instituto, que decía no tenerla para mantener su cabeza limpia y pura y seguía con una larga reivindicación de la radio (como si las tertulias radiofónicas no fuesen también pozos de desinformación y embrutecimiento, vamos).
En todo caso aquí ya todos sabéis que como mucha gente veo películas, series, documentales y retransmisiones deportivas, así que no hay nada de reivindicación en decir que no tengo aparato de televisión, simplemente utilizo un ordenador viejo para ello porque me resulta más práctico y porque así tengo en el mismo electrodoméstico televisión, radio, reproductor de música y consola de videojuegos. Si como yo eres de los que no van a invertir en una tele porque le resulta más barato o más cómodo usar un ordenador, pero no quieres dejarte una parte de tu salario en pagar servicios de streaming, aquí van unas cuantas opciones gratis para usar tu ordenador o tablet como tele.

Tivify: Tivify es una plataforma de streaming que tiene tres planes de precios, uno de los cuales es gratis (que es lo que nos interesa en este artículo). Básicamente lo que incluye esta plataforma son canales de TDT que emiten en España, tanto los de nivel estatal como los autonómicos y a mayores incluye algún canal internacional de noticias. Si bien muchas de estas cadenas son también accesibles a través de sus webs oficiales en esta plataforma consigues la comodidad de poder tenerlas todas juntas. Tiene además dos planes de pago que aumentan la capacidad para guardar grabaciones, dan acceso a canales temáticos y permiten vincular más dispositivos a la cuenta. Añado: Desde hace una temporada los canales de Mediaset han dejado de estar disponibles en el plan gratuito y solo pueden ser visualizadas con el de pago, aunque a su vez se han añadido varias cadenas locales y también algunas temáticas al modo gratis.
Runtime: Hablamos aquí de una plafatorma similar a PlutoTV o rlaxxTV, de las que hablo un poco más abajo, una plataforma que tiene algunos canales lineales temáticos (el día que escribo esto tenía 10, no sé si ampliarán) y una serie de contenidos bajo demanda. Hay pocas series, y las pocas que hay son pura serie B, pero en el cine la oferta es algo mejor pues entre un montón de cine de serie Z encontramos algunas películas decentes aunque tengan ya sus añitos. Sus canales lineales, por cierto, forman parte del plan gratis de Tivify.
VIX: Se trata de una plataforma de streaming financiada por publicidad, incluye series, cine, concursos, gastronomía o programas de true crime. Hay sobre todo muchas series y telenovelas producidas en América Latina, programas para televisiones locales y su sección de cine se compone principalmente de telefilmes o producciones «directas a vídeo«. Ojo, que si te gusta el cine de bichoños cutres apocalípticos te puedes encontrar una buena cantidad de joyitas para tardes de domingo lluviosas. Desde hace una temporada. Añado: Desde hace unos meses VIX ha dejado de estar disponible desde España, todavía puede accederse a través de una VPN si alguien tiene interés.
iQiyi: ¿Te interesan las producciones asiáticas? La plataforma iQiyi ofrece series y programas de espectáculos surcoreanos, una enorme oferta de cine de serie B producido en China, películas de acción de Hong Kong, algo de anime, concursos musicales de otros países asiáticos… Ofrecen un plan de pago VIP con acceso a algunos contenidos exclusivos, vídeo en alta definción, descargas para ver sin conexión, etc. Añado: Desde hace una temporada han ido quitando contenidos del plan gratuito y ahora casi todo es de pago.
PlutoTV: De PlutoTV ya hablamos aquí en el pasado, cuando todavía no estaba oficialmente en España pero podía ser accedido. Es una plataforma con un montón de canales que emiten programas de televisión de forma lineal, la mayoría de ellos temáticos y dedicados a emitir un solo programa o serie las 24 horas del día. Estos canales van cambiando con el paso del tiempo y también se van añadiendo nuevas opciones. Al momento de escribir esto hay más de 70 canales y la promesa de la plataforma es llegar a 100 antes de acabar el año.
rlaxxTV: Una plataforma similar a la antes citada PlutoTV, con canales lineales y también un menú para visionado bajo demanda. La plataforma rlaxxTV se financia con publicidad, así que te aparecerá un anuncio de vez en cuando mientras estés viéndola. Incluye canales en varios idiomas con series, cine, realities, documentales y hasta algún streaming de videojuegos o canales de videoclips de la agencia VEVO.
Caixa Forum +: Este canal está financiado por la fundación del banco La Caixa y se centra en contenidos sobre cultura: literatura, música, artes plásticas, historia… tiene documentales y podcasts. A partir de enero de 2023 parece que comenzará a tener actualizaciones semanalas de contenido.
RakutenTV Free: RakutenTV es una plataforma principalmente de pago, pero tiene una pequeña sección de su catálogo que puede ser accedida de forma gratuita. Esta oferta gratis incluye principalmente programas de reportajes deportivos o sensacionalistas, programas y series infantiles y una selección de películas que se renueva mes a mes. No esperes estrenos o grandes clásicos, pero siempre hay alguna película decente.
Microcanales de AMC: AMC es una conocida plataforma que ofrece cine y series de televisión a través de distintos operadores de telefonía y televisión. En la web de AMC podéis encontrar la sección microcanales, que ofrece una pequeña muestra del contenido de cada canal de su oferta (AMC,AMC+,XTRM,Canal Hollywood, Dark, Canal Cocina, etc.), tenéis que suscribiros para poder acceder dando un correo electrónico. No hay mucha cosa ,pero alguna película sí que podéis ver.
AnimeBox: Un servicio que ofrece series de animación japonesas y posee cuatro planes de suscripción, uno de ellos gratuito aunque bastante limitado, pues solo permite ver los estrenos japoneses a través de la opcion «Simulcast«, además de dar acceso a la posibilidad de pagar por un alquiler puntual de una película si no quieres pagar toda la suscripción.
Crunchyroll: El pionero servicio de streaming de series anime también ofrece gratis algunas, aunque el grueso de su catálogo es de pago. También se pueden leer algunos mangas.
Plex: Una plataforma cargada de cine y series gratuitas. Puede que el nombre de Plex te suene porque antes fue un popular reproductor multimedia, pero tras una serie de adquisiciones se ha convertido en una plataforma de contenidos gratuitos. Como en casi todas las listadas tendrás cine de serie Z o películas bastante antiguas (que no necesariamente clásicas) y algunas series y documentales. También tiene un surtido de vídeos musicales con directos o recopilaciones de videoclips relativamente grande.
RTVE Play: Tras años ofreciendo el material de sus vasto archivo a través de la deficiente y ya desaparecida plataforma RTVE A la Carta, cuyo funcionamiento era atroz, la corporación de la televisión pública española decidió modernizarse y lanzar RTVE Play, donde ha centralizado el archivo histórico, sus emisiones en directo y la plataforma de contenidos enfocados a la infancia, pues antes estaba todo separado. Lo más interesante es su oferta de documentales, cine de producción española y series clásicas que durante años ha producido TVE y los eventos deportivos que emite Teledeporte en diferido.
MiTele: En este caso hablamos de la plataforma de Mediaset, que incluye sus canales en directo y la opción de ver a la carta algunos de sus programas. Tiene una opción de pago en la que oferta poder ver on-demand las series y películas que están en rotación en esas cadenas.
ATRESPlayer: La plataforma del grupo Antena 3 ofrece también sus canales lineales en directo y algunas de sus series y programas a la carta, eso sí, con mucha publicidad.
DW: La cadena de televisión alemana tiene en su web la emisión en vivo de sus canales en castellano, en inglés, en alemán y en árabe. También puede accederse a su contenido a la carta, principalmente reportajes y música clásica.
Arte TV: Esta cadena paneuropea financiada por la UE emite gratuitamente reportajes y documentales del ámbito cultural, político y musical. Está disponible en 6 idiomas.
CRTVG: Mucha gente en Galicia pide en redes sociales a Netflix que compren algunas de las series icónicas de la Televisión de Galicia, ignorando que realmente muchas de ellas están disponibles en la opción Á Carta de la web de la RTVG, que además también nos permite ver algunas retransmisiones deportivas en diferido, los informativos y magacines tanto de tv como de la radio o ver la señal de sus dos canales internacionales en directo. Curiosamente la señal que se emite en territorio nacional no está disponible (aunque podemos recurrir a Tivify para ello).
TV3: La televisión catalana también nos ofrece una plataforma con sus canales lineales en directo y con la opción de ver sus programas a la carta, incluyendo cine y series o eventos deportivos en diferido.
La Liga Sports TV: Si lo tuyo son las retransmisiones deportivas este canal financiado por la La Liga (la empresa que organiza la liga de fútbol profesional en España) ofrece deportes varios como fútbol sala, gimnasia, atletismo, balonmano, baloncesto, fútbol. Al día en que escribí esto ofertaban la Liga Nacional de Fútbol Sala española, la liga ASOBAL de balonmano, las ligas LEB oro y LEB plata de baloncesto (segunda y tercera categorías del baloncesto español), la Liga Nacional de Fútbol Sala (LNFS) , la Champions League Asiática de fútbol y varios campeonatos nacionales españoles de distintos deportes, incluso alguna cosa de e-sports. Añado:desde hace unos meses el contenido más jugoso de la plataforma ha pasado a estar disponible solo a través de un plan de pago.
UEFA TV: Edito para añadir esta plataforma para los futboleros. No tiene gran cosa: resúmenes semanales de las competiciones europeas dependientes de la UEFA (fútbol masculino, femenino y fútbol sala) y algunos reportajes y entrevistas. Lo interesante es que de vez en cuando ponen partidos enteros en directo: no te esperes la Champions o la Europa League porque los derechos se venden caros, pero sí partidos de torneos de categorías inferiores, partidos de selecciones absolutas de la League of Nations o de las fases de clasificación para Eurocopas o Mundiales.
Pues llevo unas horas pegándome con este problema. Ayer un compañero se puso a instalar un SQL-Server 2008 y se le ocurrió poner la misma ruta para los recursos compartidos de la versión de x86 y para la de 64 bits. Cuando llegué hoy a restaurar la base de datos que tenía que ir en ese equipo me encontré con que no podía restaurarla.
Decidí que lo mejor sería desinstalar el motor de base de datos y volver a instalarlo, pero me saltó el error del título: «El valor de la línea de comandos INSTALLSHAREDWOWDIR no es válido. Compruebe que la ruta de acceso especificada es válida y diferente de la ruta de acceso de INSTALLSHAREDDIR«. Como el tiempo apretaba y no acababa de encontrar en google ninguna solución para cambiar esas rutas pensé que la solución rápida sería instalar otra instancia con otro nombre y usar esa, dejando la primera mal instalada apagada, pero me encontré con que el instalador tampoco me permitía cambiar la ruta duplicada al iniciar una nueva instalación.
Busqué en Google pero no había casi pistas, de hecho el ejemplo que encontraba no solía ser para esto problema sino para otro en el que uno de los directorios está definido y el otro no, que no era el caso. La cosa era que si el programa de instalación estaba abriendo ya con una ruta cargada esa ruta tenía que estar definida en algún sitio. Fiándome de un foro busqué un fichero que se llamase config.ini o ConfigurationFile.ini sin suerte. Al final encontré esta entrada en otro blog donde alguien había tenido ese problema cuando intentó actualizar de un 2008 a un 2014.
La cosa es que la ruta está guardada en el registro del sistema, en concreto en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-518\Components\0D1F366D0FE0E404F8C15EE4F1C15094 para INSTALLSHAREDDIR y en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\ Components\C90BFAC020D87EA46811C836AD3C507F para INSTALLSHAREDWOWDIR. Decidí modificar todos los valores y cambiarlos por la ruta por defecto que suele usar SQL-Server para no tener ya más quebraderos de cabeza. Tras el cambio no tuve ni que reiniciar, volví a abrir el programa de instalación y me permitió desinstalar y volver a instalar correctamente.