¿Cómo descargar un vídeo de Twitter desde el móvil?

Ayer tuve que descargar un vídeo colgado en un post de Twitter para pasárselo a un colega que no tiene cuenta en esa red social (o no la usa). La cuestión es que no tenía muy claro cómo hacerlo, pero la cosa es muy sencilla

  • Lo primero es irte al tweet donde está el vídeo, abrirlo y darle a la opción de compartir. Cuando nos pregunte cómo queremos hacerlo seleccionamos «Copiar al portapapeles«.
  • Con el enlace copiado nos vamos a esta página y allí pegamos el enlace en el campo de texto que nos habilitan con ese fin (puedes ver en la imagen de abajo que es el que sale entre los dos anuncios). Ojo, que según la versión de la aplicación de Twitter a veces mete un texto antes del enlace al tweet. Revisa por si lo tiene, y si está se lo borras.Twitter Downloader
  • Ahora ya sólo queda pulsar el botón para descargar, que verás un poco más abajo en la web. Dependiendo del vídeo te dará a elegir la calidad de la descarga, elige la que más te interese.

Recordatorio

Hoy no tengo mucho tiempo para escribir, pero necesito dejar constancia pública en este medio. Hace tiempo advertí que todo apuntaba a que venían tiempos oscuros y en los últimos meses el uso propagandístico de los medios, llegando al ataque a ciudadanos anónimos, y las sentencias a medida del gobierno, para el uso intimidatorio y arbitrario de las leyes, han llegado a un punto crítico, de república bananera. 

No seáis estultos, la espada de Damocles pende sobre todas las cabezas. El próximo puedes ser tú, tu hijo, tu padre, cualquiera.

SQL-Server ¿Es mejor usar IN o BETWEEN?

Otro tip rápido de SQL-Server ¿Es mejor hacer uso de IN o de BETWEEN? Bueno, en este caso la respuesta es rápida: debemos usar BETWEEN siempre que sea posible. Veamos dos consultas:

//primero con in 
Select Nombre from Pacientes where Id IN (3000,3001,3002,3003,3004);
//ahora between
Select Nombre from Pacientes where Id BETWEEN 3000 AND 3004

¿Por qué es mejor usar BETWEEN? Bueno, si no existe un índice para el campo sobre el que ejecutamos la búsqueda no notaremos mucho cambio, pero si hay índices la respuesta de BETWEEN será mucho más rápida. Siempre que se trate de buscar un resultado dentro de un rango BETWEEN será la mejor opción. ¿Cuándo debemos usar IN? Pues cuando busquemos un resultado dentro de un conjunto que no sea consecutivo. Por ejempolo en una situación como la siguiente:

//En este caso IN es lo correcto
Select Nombre from Pacientes where Id IN (3000,4001,5002,6003,8004);

SQL-Server: Rendimiento de los operadores en el WHERE

Un tip rápido sobre SQL-Server. De cara a mejorar el rendimiento de las queries es importante considerar qué operadores dentro del WHERE tienen mejor rendimiento:

  • La mejor respuesta siempre la conseguiremos usando el operador =
  • Después vendrían los operadores >, >=, <, <=
  • Tras esos estaría el LIKE
  • Finalmente tendríamos con el peor rendimiento el <> o los operadores !=, !>,!< que no forman parte de la especificación de TSQL.

Por eso recuerda que es importante construir las consultas de forma correcta para usarlos de la forma más optimizada posible.

 

Acceder a los atributos data de HTML5 desde javascript

Si eres lector habitual de este blog recordarás que no hace mucho vimos cómo hacer esto con jQuery. Vamos ahora a ver cómo hacerlo con javascript a pelo, sin tirar de esas librerías. Repitamos los mismos ejemplos pero sólo con javascript:

<div id='fruta' data-fruta='fresa'></div>

En el div con Idfruta” vamos a guardar un dato: que es una fresa (mismo ejemplo que en artículo anterior). ¿Cómo accedo a este valor usando javascript?

//opción A. A lo bruto
//funciona, pero no es elegante
window.alert(document.getElementById("fruta").getAttribute('data-fruta'));
//opción B. La buena
window.alert(document.getElementById("fruta").dataset.fruta);

Ahí tienes dos ejemplos en los que hacemos un alert() de los datos guardados en el atributo data. El primero, usando getAttribute(), en teoría es la opción «bruta» ya que en principio debería accederse a estos datos como en el segundo ejemplo, que se supone que sería el método correcto. El problema es que el acceso a dataset no está bien implementado en todos los navegadores, así que la opción de usar getAttribute() hoy por hoy, aunque no sea la correcta en la teoría, es la funcional.

¿Y cómo queda el tema de los guiones que habíamos visto en el ejemplo en jQuery? Bueno. Si usamos getAttribute() ponemos el nombre del atributo tal cual, si usamos dataset hacemos como en jQuery y quitamos los guiones (y el prefijo data) usando también notación camelCase:

<div id='fruta' data-fruta-oferta='pera'></div>
<script type="javascript">
//con getAttribtue
window.alert(document.getElementById("fruta").getAttribute("data-fruta-oferta"));
//mediante dataset
window.alert(document.getElementById("fruta").dataset.frutaOferta);
</script>

El Bandcamp de la Quincena: Squadra Omega – Altri occhi ci guardano (29/10/2017)

Son italianos y contemporáneros, pero suenan a alemanes de hace 50 años. Esta semana en El Bandcamp de la Quincena nos embarcamos rumbo a los delirios de Squadra Omega.

Altri occhi ci guardano es un disco que tiene un par de años y de hecho no es ni siquiera el último trabajo de los italianos, que el pasado verano publicaron no uno sino dos discos titulados «Materia Obscura» y «Nervosa«. Pero he preferido centrarme en esta entrega, un disco doble de 2015 donde el grupo mostró una formación con dos baterías, al estilo de los Melvins o los Allman Brothers.

La banda se sustenta sobre los hombros de sus dos líderes y fundadores, OmegaMatt y OmegaG8, y nos ofrece en este trabajo una colección de temas donde diversos géneros se van dando la mano: la psicodelia, el jazz, el space rock, el krautrock, el progresivo o hasta el surf.

Squadra Omega

El crisol de influencias de estos italianos se hace patente desde el arranque del disco: tras una intro de más de cuatro minutos, IL BUIO DENTRO, perturbadora y casi de peli de John Carpenter, se arrancan con un tema de 8 minutos titulado SOSPESI NELL´ OBLIO donde los aires western oscilan entre las bandas sonoras de su compatriota Ennio Morricone y el sonido original de los míticos rockeros instrumentales ingleses The Tornados. Se sienten cómodos con los temas largos, metiendo tres piezas de más de once minutos que recorren distintos paisajes musicales: IL LABIRINTO, IL GRANDE IDOLO y el tema que da título al disco ALTRI OCCHI CI GUARDANO. Las influencias de Hawkwind, Magma o Amon Düül II están a flor de piel en esta Squadra Omega, para dar a luz un sonido que ellos denominan «Spaceage Cubist-Free-Jazz clashes with Pygmy-Percussion-No Wave-Kraut Rock«. Incluso no temen a componer piezas delicadas con arreglos acústicos y escalas mediterráneas en la onda de los Blaak Heat, como en HYOSCYAMUS. Por momentos hasta el sonido de Mike Oldfield, de las bandas sonoras de Fabio Frizzi o de los germanos Faust parece haberles tocado. Hasta por momentos diría que hay guiños que me recuerdan a los españoles Bloque o a Nik Pascal Raicevic.

En este Altri occhi ci guardano son diversas las sonoridades con las que se experimenta: al bajo, las guitarras y la batería se le unen sintetizadores varios, efectos electrónicos, percusión electrónica o saxo. Todo para lograr un efecto de viaje ácido a la par que cósmico. Un disco profundamente complejo y experimental, denso y difícil de clasificar.

Un disco para escuchar cuando necesites una completa evasión, la banda sonora para una tarde de pura y dura atrapada.

Operadores de incremento y decremento en javascript

En javascript disponemos del operador aritmético de decremento y del operador de incremento ++. El primero resta uno al valor de la variable sobre la que lo apliquemos y el segundo añade uno. Esto en principio no requiere más explicación, el único intríngulis con estos operadores es la posición en la que los usamos,ya que no funcionan igual si van antes de la variable que si van después:

  • Si lo ponemos como prefijo, antes de la variable, entonces incrementa el valor de la variable y luego lo devuelve.
  • Si lo ponemos como sufijo, después de la variable, entonces devuelve el valor de esta y luego la incrementa.

Esto con un ejemplo se entiende mucho mejor. Veamos el incremento:

x=3;
y=++x;
//En este caso tanto x como y valdrían 4
x=3;
y=x++;
//En este caso x vale 3 e y vale 4

Con el decremento es lo mismo:

x=3;
y=--x;
//En este caso tanto x como y valdrían 2
x=3;
y=x--;
//En este caso x vale 3 e y vale 2

Martin Eric Ain (18/07/1967 – 21/10/2017)

Ayer nos dejaba uno de los pioneros del metal extremo europeo, el bajista Martin Eric Ain. Nacido en los Estados Unidos en 1967 ganó fama como bajista de las míticas bandas suízas Hellhammer y Celtic Frost. Un paro cardíaco segaba su vida prematuramente.

Tuve la oportunidad de verle dos veces con Celtic Frost, ambas en la gira de presentación del que fue el último disco de los suízos, el Monolith. Y fue en la segunda, tocando junto a Kreator en Madrid en 2007, en la que se me quedó grabada una absurda anécdota, una anécdota que me apeteció compartir con vosotros al enterarme de la noticia: Durante todo el concierto era Martin quien se dirigía al público entre las canciones. En un momento dado empezó a bromear con que España era «el país de la inquisición y del Opus Dei«. El público aplaudió. Entonces comentó que él hacía años que no pisaba una iglesia, y que la última vez que lo había hecho fuera para asistir al entierro de su madre. En ese momento el público volvió a aplaudir, a rabiar. Estábamos casi en primera fila y pudimos ver la cara de poker de Martin ante la reacción, mientras tomaba conciencia de que la mayoría del público no entendía una palabra de lo que decía en inglés y simplemente aplaudían a cada pausa. Creo que no volvió a hablar en lo que restaba de concierto. Ahora me pregunto si hoy le habrá tocado pisar de nuevo una iglesia, de cuerpo presente, o si su voluntad sería tener un entierro laico. En cualquier caso, quede para el recuerdo su aportación al black y al thrash metal.

¿Por qué un número elevado a 0 es igual a 1?

Esto se sale totalmente de la línea editorial del blog, desde luego, pero me apetecía contarlo por aquí. El caso es que en una charla de oficina comenté que una vez cuando cursaba 2º de ESO la profesora me hizo explicar en clase por qué cualquier número elevado a 0 es igual 1, y un compañero me discutió que no. Así que con 32 años me volvía a ver delante de una pizarra haciendo esta demostración:

Podemos expresar que X0 es el resultado de Xn-n siendo X cualquier número real menos el 0 y siendo n cualquier número real. O, por ponerlo con número, podemos decir 20 es el resultado de (por ejemplo) 22-2.

Entonces por propiedades de las potencias Xn-n es igual a Xn/Xn. Siguiendo el ejemplo anterior 22-2=22/22.

Por lo tanto tenemos que X0 = Xn/Xn, y siendo el numerador y el denominador iguales en la división el resultado es necesariamente 1. Es decir 20 = 22/22, por tanto 20 = 4/4. Y 4/4=1, así de simple.

¿Y en el caso del 00? Bueno, eso a mi ya me supera. Pero os dejo un enlace a otro blog donde lo explican y debaten, para que matéis vuestra curiosidad.

NBA 2017-2018: Preguntas para esta temporada

logo NBA

Comienza hoy la temporada NBA y antes de empezar yo me hago preguntas sobre diez equipos. Porque este verano ha sido extremadamente prolífico en cuanto a movimientos de jugadores, ha dejado un Este desolado de estrellas y nos ha quedado un panorama con cinco supuestos superequipos en la lucha por el anillo, muchas plantilla pensadas para el tanking y varios proyectos con mucho talento joven:

  1. Cavaliers:  ¿Funcionarán sus exteriores vistos sus historiales de problemas físicos?
  2. OKC: ¿Pueden Donovan hacer coexistir a dos finalizadores como Westbrook y Melo sin celos, como antes lo hicieron Westbrook y Durant bajo la batuta de Brooks?
  3. Rockets: ¿Era un base como Chris Paul lo que necesitaban para dar el salto de calidad?
  4. Pelicans: ¿Funcionará el experimento de jugar con dos grandes como Cousins/Davis?
  5. Bucks: ¿Pueden ser Top-5 del Este ya este año?
  6. Celtics: ¿El nuevo equipo es suficiente para llegar a la final de la NBA?
  7. Warriors: ¿Tienen rival si están todos sanos?
  8. Spurs : ¿Les llega con lo que tienen o pesarán los años?
  9. Sixers: ¿Veremos al fin una temporada ganadora?
  10. Timberwolves: ¿Volverán al fin a jugar Play-off?

Y también me hago preguntas sobre diez jugadores para esta temporada que entra:

  1. ¿Cuándo y cómo volverá Isaiah Thomas?
  2. ¿Thon Maker progresará hasta el nivel de pivot titular?
  3. ¿Volverá bien Jabari Parker tras su segunda lesión grave en tres años?
  4. ¿Embiid jugará más de 40 partidos?
  5. ¿Alcanzará  Antetokounmpo un nivel de candidato al MVP?
  6. ¿La cabeza de LeBron está asentada en Cleveland o pensando en dónde llevar sus «talents»?
  7. ¿A Lonzo Ball le pesará el hype y las bocachancladas de su padre?
  8. ¿Irving puede asumir los galones de líder?
  9. ¿Porzingis subirá al fin el siguiente escalón ahora que le han dado los galones de jugador franquicia?
  10. ¿Milos Teodosic se la pegará en la NBA como en su día lo hizo Jasikevicius o maravillará con su visión de juego y creatividad?

Lo bueno de estas preguntas es que tienen respuesta, sólo nos queda esperar unos meses para conocerla… y disfrutar del baloncesto mientras las descubrimos.