Hugo Campañoli

@campa.dev

Frontend Dev | Centered <div>, chaotic life. 🧘‍♂️ AstroJS 🚀 & Semantic HTML fan. My 2 daughters are my PM (and they are very demanding). 🇵🇾 Bella Vista.

git absorb automatiza el git rebase -i --autosquash para PRs con múltiples commits. Stageas el fix con git add -p, git absorb detecta el commit correcto por commutativity de patches, y genera el fixup! automáticamente. brew install git-absorb

Diagrama esquemático que explica el algoritmo de "git absorb". Muestra cómo un "fixup!" escanea el historial hacia atrás para encontrar su commit base ("feat:") y utiliza la conmutatividad de parches para saltar los commits intermedios ("fix:") y aplicarse correctamente.

La privacidad por diseño ya no es una sugerencia ética, es una obligación legal bajo la nueva Ley 7593/2025 en Paraguay. Si tu app sigue recolectando datos "por las dudas", estás acumulando deuda técnica y riesgo financiero. Escribí un checklist técnico para cumplir: campa.dev/es/blog/priv...

A wide technical diagram showing a data flow being filtered by an amber prism into secure tokens, representing the "Privacy by Design" implementation for Ley 7593.

¿Seguís debugeando en sueños? 🧠 Es el Efecto Zeigarnik: el cerebro prioriza tareas inacabadas consumiendo RAM cognitiva. Hacks senior: ✅ Park on a downhill (dejá un test fallando). ✅ Externalización radical (anotalo todo). Leé el TIL: → campa.dev/es/til/efect...

Bild

If 2 in 1 isn't enough, here's a 3 in 1 demo on @codepen.io: 3 cross-browser approaches (so no `corner-shape`) for getting a scooped corners, responsive shape with a border: codepen.io/thebabydino/... Includes a list of pros & cons for each. #CSS #SVG #filter

Scooped rounded corners + border: a comparative demo

Scooped corners, comparative view of different techniques. Prompted by [a question asked on reddit](https://www.reddit.com/r/css/comments/1judajj/how_c...

codepen.io

I am begging you, please don't split your heading into two separate `h2` elements with an `img` in between just to have the image in between your heading words. This is what subgrid was made for! #CSS

HTML:

```
<!-- ❌ DON'T DO THIS 🚫 -->
<section>
  <h2>Classic</h2>
  <img src='classic-bar.png' alt=''/>
  <h2>Flavour</h2>
</section>

<!-- ✅ DO THIS ✅ -->
<section>
  <h2>
    <span>Classic</span>
    <span>Flavour</span>
  </h2>
  <img src='classic-bar.png' alt='the classic chocolate bar'/>
</section>
```

CSS:

```
section, h2 { display: grid }

section { grid-template-rows: repeat(3, auto) }

h2 {
  grid-area: 1/ 1/ span 3;
  grid-template-rows: subgrid;
  
  span:last-child { grid-row: 3 }
}

img { grid-area: 2/ 1 }
```