Propiedades alternativas más lógicas para reemplazar conceptos como `width` o `height` por `inline` o `block` y no confundir en idiomas que no tienen nuestra misma direccionalidad.
Llevo ya algunos días probando #StableDiffusion (modelo de aprendizaje automático open source, de Inteligencia Artificial) para generar hipotéticos escenarios, y cada vez me despierta más curiosidad.
Aprovecho y comparto algunos resultados por aquí...
🧵⬇
Empecé generando galaxias, con nebulosas, que es algo que no resulta muy complicado de crear. Reescribiendo el prompt (frase para generar la imagen) a prueba y error, vas aprendiendo conceptos que funcionan, y los que no funcionan.
Me animo y comienzo también a describir naves o cuerpos flotantes, intentando que haya solo un color predominante que le de ambientación.
Curiosamente, el texto `uniform and coherent shapes` ayuda bastante a que los elementos no sean demasiado aleatorios.
En Javascript es muy habitual confundir conceptos como inmutabilidad, constantes, paso por referencia, etc.
¡Te lo explico!
1️⃣ Definir algo como constante impide la reasignación, pero no impide mutar sus elementos.
🧵🔽
2️⃣ Ciertos métodos de Javascript mutan la estructura original, cuando lo esperable es que no.
Hay una propuesta para reemplazar métodos como `reverse()`, `splice()` o `sort()` (que mutan) por `toReverse()`, `toSpliced()` o `toSorted()`, que no mutan.
3️⃣ Otro error común: hacer una copia de una estructura compleja.
💔`copyData = data` ➡ es una referencia o "acceso directo", son el mismo elemento
💔`copyData = [...data]` ➡ sólo copia el primer nivel (shallow), el resto son ref
❤ `copyData = structuredClone(data)` ✅
Si no la has visto, ALTO. No considero spoiler lo que pongo aquí (sólo detalles de la pantalla), pero quizás prefieras no saber nada de nada hasta que hayas visto la serie (temporada 4, capítulo 6).
🧵🔽
La serie está ambientada en 1986. En una pantalla de una Amiga (1985) nos encontramos la siguiente interfaz. Parece una interfaz del estilo Workbench, pero en un monitor de fósforo verde.
Arriba aparece versión 1.0, aunque a la derecha podemos ver Workbench 1.3.
Aparece una pantalla con código (oh-oh), veamos de que se trata. A simple vista, parece Java (1995), C# (2000) o similar, con referencias a un cliente de SQL (1974) o a ¿LINQ de C#? (2007)
Más abajo, referencias entre otras cosas, a TeX ¿LaTeX? (1984) y Turbo C++ (1990).
1️⃣ No agrupes selectores en la misma línea, separa.
2️⃣ Aunque tengas canal alfa, usa RGB() y no RGBA(). Incluso ya puedes usar hexadecimal con canal alfa.
3️⃣ Si tienes propiedades con valores múltiples, separa en múltiples líneas.
4️⃣ Usa variables CSS. Se colocan al inicio, separados por una línea en blanco del resto de props. ¡Y tienen ámbitos locales!
5️⃣ Se pueden guardar todo tipo de datos: medidas, gradientes, colores, funciones css, keywords, etc...
6️⃣ Con `var()` puedes usarlas y añadir un fallback.