Categoría: Comentando actualidad

  • Pasa septiembre, llega octubre, Apple actualiza las specs de algunos de sus modelos, pero el nuevo iPad «a secas» se sigue viendo igual que siempre, con su bezel, su pantalla rectangular, su Touch ID y su Apple Pencil de primera generación.

    Empiezo a pensar: ¿y si siguen sin actualizar el aspecto del iPad regular, aparte de para no canibalizar al iPad Air, porque busca ser el equivalente en tablets al iPhone SE? El iPhone SE también sigue teniendo pantalla rectangular y Touch ID, pese a tener el cuerpo de un iPhone 11 Pro.

    ¿Podría ser simplemente que ambas familias empezasen a converger en algún momento; iPad como un iPad SE, iPad Air como el iPad a secas, igual que el iPhone normal con bezel, iPad Pro como iPhone Pro?

  • No estoy siguiendo mucho el tema de GitHub Copilot más allá sobre los memes que ya se han hecho, así que tampoco puedo contar nada innovador.

    A los programadores nos encanta soltar siglas para todo. Una de ellas es DRY: do not repeat yourself. Resolver continuamente los mismos problemas y reescribir el mismo código es absurdo porque provoca código complicado de mantener. El código debería ser reusable.

    Excepto que no todo el código acaba siendo fácil de reutilizar. O, al menos, puede ser bastante excéntrico tratar de reutilizar cierto código. Crear librerías de funciones útiles que hagan las cosas sencillas pero que la librería estandar de nuestro lenguaje de programación no nos proporcione, o marcarse un Node.js y tener un ecosistema lleno de paquetes monofuncionales (en el sentido más literal de la palabra) para hacer cosas como comprobar si un array está vacío, si un número es par, o para introducir espacios en una palabra.

    «¿Un paquete para crear un array de N posiciones en JavaScript? Eso es absurdo». Posiblemente. El zero-dependency es un estilo de vida, y en el caso de lenguajes como JavaScript, reducir el número de dependencias en el package.json no le viene nada mal a la mayoría de paquetes. Pero probablemente para la mayoría de estas funciones, no puedas escribirlas de tirón sin tener que entrar en Google a buscar en Stack Overflow, y a veces no tenemos tiempo ni de buscar en Stack Overflow.

    Es aquí donde creo que las IAs de este estilo podrían tener potencial. No me hagas cambiar de ventana para buscar en internet cómo hacer X en Y, perder tiempo consultando la segunda respuesta porque la primera no aplica, luego la segunda pregunta porque la primera no contiene las respuesta que me interesa… En su lugar, deja que le diga al ordenador en palabras propias qué pretendo hacer y que me genere código sin levantar los dedos del teclado. O deja que automatice el código más aburrido y repetitivo de escribir para ahorrarme tiempo.

    Existen razones por las cuales ni quiero pedir acceso a la beta de GitHub Copilot, pero de usarlo, se me ocurrirían casos de uso interesantes que de otro modo tendría que resolver perdiendo tiempo para escribir la función o buscando en internet, como por ejemplo:

    • Dado este array asociativo de objetos ({item1: { k1: v1, k2: v2 }, item2: { k1: v3, k2: v4 }}), fabrica un índice inverso a partir del campo k2 de cada item del array asociativo.
    • Fabrica un array con integers monotónicamente crecientes ([0, 1, 2, 3, 4...]). La IA generaría algo como Array(40).fill(0).map((_, i) => i).
    • Haz una función que valide un e-mail (¿te sabes la regex de memoria sin buscar en internet? ¿te sabes los mil millones de casos edge que tiene el RFC de las direcciones de e-mail?).

    Parafraseándome a mí mismo en Twitter hace unos días,

    Si programas en Java llevas pudiendo hacer clic para que el ordenador te genere los getters y los setters de tus clases desde hace décadas. Esto podría revalorizar el análisis y el diseño y dejar al ordenador que rellene specs. Imagina escribir un TDD y que el IDE lo rellene.

    Trabajar en los procedimientos más complejos y reales y en la lógica de negocio que requiere intervención humana con el tiempo que gano cuando al pulsar un botón me rellena los métodos chorra tipo «buscar X en este array»? Lo compro. Y eso que no espero usar este producto.

    @makigas
  • Últimamente consumo más contenido en streaming por Twitch. Rellena acústicamente mientras trabajo o hago otras cosas. No necesito prestarle atención, solo necesito que esté ahí.

    Pero no puedo evitar advertir que Twitch tiene algunas carencias graves en algunos aspectos, y uno de ellos es el de declarar el product placement.

    Hace unas semanas, Tom Scott publicaba un vídeo que roza la obra maestra donde se cuestiona por qué se han fabricado leyes adhoc a plataformas como Instagram o YouTube, en las que se exige a influencers que declaren en la descripción o en el vídeo que su contenido tiene contenido promocional. Estas leyes no afectan a televisión, cine y música.

    En Twitch, bastantes canales de gaming tienen logos en pantalla de marcas que se van alternando, de fabricantes de componentes de ordenadores, tarjetas gráficas, bebidas energéticas… A veces alguna referencia a alguno de estos patrocinadores… y aunque a título personal a mi me da igual, y en el fondo estoy de acuerdo con Tom en que es absurdo legislar exclusivamente el área online mientras se hace la vista gorda con otros sectores que también mueven dinero, pero me pregunto cuánto tardarán en legislar Twitch también.

  • Tengo miedo.

  • Parecía que con la marcha de Reino Unido de la Unión Europea, nos ibamos a librar por un tiempo de propuestas de ley que restrinjan la privacidad en el cifrado de datos. Pero un artículo publicado en la web de la EFF sugiere que Europa estaría preparando una posición pública al respecto del cifrado de las comunicaciones, y que no sería precisamente favorable.

    In late September, Statewatch published a note, now being circulated by the current EU German Presidency, called “Security through encryption and security despite encryption”, encouraging the EU’s member states to agree to a new EU position on encryption in the final weeks of 2020.

    While conceding that “the weakening of encryption by any means (including backdoors) is not a desirable option”, the Presidency’s note also positively quoted an EU Counter-Terrorism Coordinator (CTC) paper from May (obtained and made available by German digital rights news site NetzPolitik.org), which calls for what it calls a “front-door”—a “legal framework that would allow lawful access to encrypted data for law enforcement without dictating technical solutions for providers and technology companies”.

    Lejos de querer distanciarse de la posición de Estados Unidos o China, parece que al final Europa quiere ser como el resto y declarar su particular guerra a las matemáticas, incluso después de haber puesto leyes tan complejas y extrañas para proteger la privacidad de sus ciudadanos en los últimos 10 años como la famosa ley de cookies o la ley GDPR. ¿Resultará que al final lo de la privacidad es un postureo?

    ¿Habrá correlación con esa inquietante obsesión que ha adquirido ahora el gobierno español con intentar hacer redes como WhatsApp o Telegram interoperables, o que cedan a ser usadas para enviar mensajes de emergencia pública (en vez de usar la función de difusión de celda que todos los teléfonos inteligentes tienen de forma nativa sin depender de aplicaciones concretas…)?