<!DOCTYPE html><html lang="es"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/png" href="/favicon.png"><link rel="canonical" href="https://gul.uc3m.es/"><title>GUL UC3M</title><meta name="description" content="El Grupo de Usuarios de Linux es una asociación de estudiantes unidos por nuestras inquietudes en torno a los ordenadores, la informática y, en concreto, la idea común de la utilización y promoción del software libre."><meta property="og:type" content="website"><meta property="og:title" content="GUL UC3M"><meta property="og:description" content="El Grupo de Usuarios de Linux es una asociación de estudiantes unidos por nuestras inquietudes en torno a los ordenadores, la informática y, en concreto, la idea común de la utilización y promoción del software libre."><meta property="og:url" content="https://gul.uc3m.es/"><meta property="og:image" content="https://gul.uc3m.es/og-image.png"><meta property="og:locale" content="es_ES"><meta name="twitter:card" content="summary_large_image"><meta name="generator" content="Astro v7.3.3"><link rel="stylesheet" href="/_astro/navLinks.CVMKhJgI.css"><link rel="stylesheet" href="/_astro/index.zcHwUFp5.css"></head><body class="bg-gul-bg text-gul-ink"><header class="gul-gutter sticky top-0 z-50 flex items-center gap-4 border-b border-gul-line/60 bg-gul-bg/70 py-3 backdrop-blur-md md:gap-8 md:px-6"><nav aria-label="Principal" class="relative order-1 md:order-2" data-astro-cid-g7u45j7x><details class="gul-burger relative border-b-0 md:hidden" data-astro-cid-g7u45j7x><summary class="flex size-9 cursor-pointer items-center justify-center rounded-md px-0 py-0 text-gul-muted hover:text-gul-ink" aria-label="Menú" data-astro-cid-g7u45j7x><svg viewBox="0 0 24 24" class="size-5 stroke-current stroke-2" fill="none" data-astro-cid-g7u45j7x><path d="M4 7h16M4 12h16M4 17h16" data-astro-cid-g7u45j7x></path></svg></summary><div class="absolute top-full left-0 z-20 mt-2 w-[min(20rem,calc(100vw-2rem))]" data-astro-cid-g7u45j7x><ul class="rounded-md border border-gul-line bg-gul-surface/95 p-2 backdrop-blur-md" data-astro-cid-g7u45j7x><li data-astro-cid-g7u45j7x><a href="/actividades/" class="block rounded-md px-3 py-2 text-sm font-medium text-gul-muted hover:bg-gul-ink/10 hover:text-gul-ink" data-astro-cid-g7u45j7x>Actividades</a></li><li data-astro-cid-g7u45j7x><a href="/guia/" class="block rounded-md px-3 py-2 text-sm font-medium text-gul-muted hover:bg-gul-ink/10 hover:text-gul-ink" data-astro-cid-g7u45j7x>Guía</a></li><li data-astro-cid-g7u45j7x><a href="/ftp/" class="block rounded-md px-3 py-2 text-sm font-medium text-gul-muted hover:bg-gul-ink/10 hover:text-gul-ink" data-astro-cid-g7u45j7x>FTP</a></li></ul></div></details><ul class="hidden flex-wrap items-center gap-1 md:flex" data-astro-cid-g7u45j7x><li data-astro-cid-g7u45j7x><a href="/actividades/" class="group flex h-11 cursor-pointer items-center rounded-md px-2 text-sm font-medium text-gul-muted outline-none transition-colors hover:bg-gul-ink/10 hover:text-gul-ink focus-visible:bg-gul-ink/10 focus-visible:text-gul-ink" data-astro-cid-g7u45j7x><span class="size-7.5 shrink-0 bg-current group-hover:hidden group-focus-visible:hidden" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19%2022H5v-2h14v2ZM5%208h14V6h2v14h-2V10H5v10H3V6h2v2Zm4%2010H7v-2h2v2Zm4%200h-2v-2h2v2Zm-4-4H7v-2h2v2Zm4%200h-2v-2h2v2Zm4%200h-2v-2h2v2ZM9%204h6V2h2v2h2v2H5V4h2V2h2v2Z'/%3e%3c/svg%3e&quot;) center / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="h-10 w-7.5 shrink-0 -translate-y-1.25 bg-current hidden group-hover:block group-focus-visible:block" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19%2022H5v-2h14v2ZM5%208h14V6h2v14h-2V10H5v10H3V6h2v2ZM9%204h6V2h2v2h2v2H5V4h2V2h2v2ZM9%2011h2v2h-2zM13%2011h2v2h-2zM7%2013h10v2h-10zM9%2015h6v2h-6zM11%2017h2v2h-2z'/%3e%3c/svg%3e&quot;) bottom / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="grid grid-cols-[0fr] transition-[grid-template-columns] duration-300 ease-out group-hover:grid-cols-[1fr] group-focus-visible:grid-cols-[1fr] motion-reduce:transition-none" data-astro-cid-g7u45j7x><span class="overflow-hidden" data-astro-cid-g7u45j7x><span class="inline-block pl-2 whitespace-nowrap opacity-0 transition-opacity duration-300 ease-out group-hover:opacity-100 group-focus-visible:opacity-100 motion-reduce:transition-none" data-astro-cid-g7u45j7x>Actividades</span></span></span></a></li><li data-astro-cid-g7u45j7x><a href="/guia/" class="group flex h-11 cursor-pointer items-center rounded-md px-2 text-sm font-medium text-gul-muted outline-none transition-colors hover:bg-gul-ink/10 hover:text-gul-ink focus-visible:bg-gul-ink/10 focus-visible:text-gul-ink" data-astro-cid-g7u45j7x><span class="size-7.5 shrink-0 bg-current group-hover:hidden group-focus-visible:hidden" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M2%203h9v2H2zM0%2019h11v2H0zM13%203h9v2h-9zm0%2016h11v2H13zM11%205h2v18h-2zM0%205h2v14H0zm22%200h2v14h-2zm-7%202h5v2h-5zm0%204h5v2h-5zm0%204h2v2h-2z'/%3e%3c/svg%3e&quot;) center / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="h-10 w-7.5 shrink-0 -translate-y-1.25 bg-current hidden group-hover:block group-focus-visible:block" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%20-8%2024%2032'%3e%3cpath%20d='M2%203h9v2H2zM0%2019h11v2H0zM13%203h9v2h-9zm0%2016h11v2H13zM11%205h2v18h-2zM0%205h2v14H0zm22%200h2v14h-2zm-7%202h5v2h-5zm0%204h5v2h-5zm0%204h2v2h-2z'/%3e%3cpath%20d='M11%20-7h2v6h-2zM5%20-5h2v2h-2zM7%20-3h2v2h-2zM17%20-5h2v2h-2zM15%20-3h2v2h-2zM0%20-1h3v2h-3zM21%20-1h3v2h-3z'/%3e%3c/svg%3e&quot;) bottom / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="grid grid-cols-[0fr] transition-[grid-template-columns] duration-300 ease-out group-hover:grid-cols-[1fr] group-focus-visible:grid-cols-[1fr] motion-reduce:transition-none" data-astro-cid-g7u45j7x><span class="overflow-hidden" data-astro-cid-g7u45j7x><span class="inline-block pl-2 whitespace-nowrap opacity-0 transition-opacity duration-300 ease-out group-hover:opacity-100 group-focus-visible:opacity-100 motion-reduce:transition-none" data-astro-cid-g7u45j7x>Guía</span></span></span></a></li><li data-astro-cid-g7u45j7x><a href="/ftp/" class="group flex h-11 cursor-pointer items-center rounded-md px-2 text-sm font-medium text-gul-muted outline-none transition-colors hover:bg-gul-ink/10 hover:text-gul-ink focus-visible:bg-gul-ink/10 focus-visible:text-gul-ink" data-astro-cid-g7u45j7x><span class="size-7.5 shrink-0 bg-current group-hover:hidden group-focus-visible:hidden" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M20%2020H4v-2h16v2ZM4%2018H2V6h2v12Zm18%200h-2V8h2v10ZM20%208H10V6H4V4h8v2h8v2Z'/%3e%3c/svg%3e&quot;) center / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="h-10 w-7.5 shrink-0 -translate-y-1.25 bg-current hidden group-hover:block group-focus-visible:block" style="mask: url(&quot;data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2012%2012'%3e%3cpath%20d='M1%202h4v1h-4ZM0%203h1v1h-1ZM5%203h5v1h-5ZM0%204h1v1h-1ZM10%204h1v1h-1ZM0%205h1v1h-1ZM3%205h9v1h-9ZM0%206h1v1h-1ZM2%206h1v1h-1ZM11%206h1v1h-1ZM0%207h2v1h-2ZM10%207h1v1h-1ZM0%208h1v1h-1ZM9%208h1v1h-1ZM1%209h8v1h-8Z'/%3e%3c/svg%3e&quot;) bottom / contain no-repeat" data-astro-cid-g7u45j7x></span><span class="grid grid-cols-[0fr] transition-[grid-template-columns] duration-300 ease-out group-hover:grid-cols-[1fr] group-focus-visible:grid-cols-[1fr] motion-reduce:transition-none" data-astro-cid-g7u45j7x><span class="overflow-hidden" data-astro-cid-g7u45j7x><span class="inline-block pl-2 whitespace-nowrap opacity-0 transition-opacity duration-300 ease-out group-hover:opacity-100 group-focus-visible:opacity-100 motion-reduce:transition-none" data-astro-cid-g7u45j7x>FTP</span></span></span></a></li></ul></nav><a href="/" aria-label="Inicio" class="order-2 mr-auto md:order-1"><img src="/logo-gul-dark.svg" alt="GUL UC3M" class="h-8 w-auto"></a><div class="order-3"><div class="relative" data-gul-contact><a href="#contact" class="relative overflow-hidden rounded-md px-3 py-2 text-sm font-semibold font-mono transition-colors duration-100 bg-gul-blue text-gul-ink hover:bg-gul-ink hover:text-gul-blue focus-visible:bg-gul-ink focus-visible:text-gul-blue" data-gul-btn aria-expanded="false" aria-controls="gul-contact-menu" data-gul-contact-trigger="true" data-astro-cid-bkhbbm22><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><script type="module">var e=[[0,32,8,40,2,34,10,42],[48,16,56,24,50,18,58,26],[12,44,4,36,14,46,6,38],[60,28,52,20,62,30,54,22],[3,35,11,43,1,33,9,41],[51,19,59,27,49,17,57,25],[15,47,7,39,13,45,5,37],[63,31,55,23,61,29,53,21]];function t(e){return function(){e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function n(e){let{cell:t,color:n,alpha:r,maxDensity:i,xBias:a,falloff:o,orderedMix:s}=e.dataset;return{cell:Number(t),color:n,alpha:Number(r),maxDensity:Number(i),xBias:Number(a),falloff:Number(o),orderedMix:Number(s)}}function r(n,r){let i=n.getBoundingClientRect();if(i.width===0||i.height===0)return;let a=window.devicePixelRatio||1,o=Math.max(1,Math.floor(r.cell*a)),s=Math.floor(i.width*a/o)*o,c=Math.floor(i.height*a/o)*o;n.width=s,n.height=c;let l=n.getContext(`2d`);if(!l)return;let u=s/o,d=c/o,f=t(2654435769);l.clearRect(0,0,s,c),l.fillStyle=`rgba(${r.color}, ${r.alpha})`;for(let t=0;t<d;t++){let n=1-t/Math.max(d-1,1);for(let i=0;i<u;i++)(i/Math.max(u-1,1)*r.xBias+n*(1-r.xBias))**+r.falloff*r.maxDensity>(e[t&7][i&7]+.5)/64*r.orderedMix+f()*(1-r.orderedMix)&&l.fillRect(i*o,t*o,o,o)}}document.querySelectorAll(`[data-pixel-dissolve]`).forEach(e=>{let t=n(e);new ResizeObserver(()=>r(e,t)).observe(e)});</script><span class="relative z-10 inline-flex items-center gap-1" data-gul-btn-content data-astro-cid-bkhbbm22><span aria-hidden="true" data-astro-cid-bkhbbm22>&gt;</span><span data-decrypt="true" data-decrypt-on-load="true" data-speed="40" data-stagger="28" data-astro-cid-bkhbbm22="true" data-astro-cid-icd2xqxq="true">Contacta</span><script type="module">var e=`#%&@$?!*+=/{}[]<>~^`;function t(t){let r=t.textContent??``,i=Number(t.dataset.speed)||40,a=Number(t.dataset.stagger)||28,o=Array.from(r).map(e=>({span:document.createElement(`span`),ch:e,lockAt:0})),s=0;for(let e of o)e.span.textContent=e.ch,!/\s/.test(e.ch)&&(e.lockAt=s*a+Math.random()*a,s++);let c=document.createDocumentFragment(),l=[],u;for(let e of o){if(/\s/.test(e.ch)){c.append(e.span),u=void 0;continue}u||(u=document.createElement(`span`),u.dataset.decryptWord=``,l.push(u),c.append(u)),u.append(e.span)}t.replaceChildren(c);for(let e of l)e.style.width=`${e.getBoundingClientRect().width}px`;for(let t of o)/\s/.test(t.ch)||(t.span.textContent=e[Math.random()*19|0],t.span.dataset.state=`scramble`);let d=performance.now(),f=0,p={paused:t.dataset.decryptPaused===`true`,resume(){p.paused=!1,d=performance.now(),f=0}};n.set(t,p);function m(n){let r=n-d,a=r-f>=i,s=!1;for(let t of o)/\s/.test(t.ch)||t.span.dataset.state===`lock`||(!p.paused&&r>=t.lockAt?(t.span.textContent=t.ch,t.span.dataset.state=`lock`):(s=!0,a&&(t.span.textContent=e[Math.random()*19|0],t.span.dataset.state=`scramble`)));a&&(f=r),s?requestAnimationFrame(m):t.dispatchEvent(new CustomEvent(`gul:decrypt:complete`,{bubbles:!0,detail:t}))}requestAnimationFrame(m)}var n=new WeakMap;window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(document.querySelectorAll(`[data-decrypt][data-decrypt-on-load="true"]`).forEach(t),document.addEventListener(`gul:decrypt`,e=>{let n=e.detail;n?.matches(`[data-decrypt]`)&&t(n)}),document.addEventListener(`gul:decrypt:resume`,e=>{let t=e.detail;n.get(t)?.resume()}));</script></span></a><div id="gul-contact-menu" data-gul-contact-menu hidden class="absolute top-full right-0 z-20 w-max origin-top-right rounded-md border border-gul-line bg-gul-surface/95 p-2 pt-3 text-sm backdrop-blur-md"><div class="flex items-center gap-3 rounded-md p-2 text-gul-muted"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M20%2020H4v-2h16v2ZM4%2018H2V6h2v12Zm18%200h-2V6h2v12Zm-8-4h-4v-2h4v2Zm-4-2H8v-2h2v2Zm6%200h-2v-2h2v2Zm-8-2H6V8h2v2Zm10%200h-2V8h2v2Zm2-4H4V4h16v2Z'/%3e%3c/svg%3e" alt="" class="size-4 shrink-0 invert"><a href="#" data-gul-email class="grow hover:text-gul-ink"><span data-gul-email-text>info AT gul.uc3m.es</span></a></div><a href="https://twitter.com/guluc3m" target="_blank" rel="noopener" class="flex items-center gap-3 rounded-md p-2 text-gul-muted transition-colors hover:bg-gul-ink/10 hover:text-gul-ink focus-visible:bg-gul-ink/10 focus-visible:text-gul-ink"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2012%2012'%3e%3cpath%20d='M6%201h3v1h-3ZM0%202h2v1h-2ZM5%202h6v1h-6ZM1%203h3v1h-3ZM5%203h5v1h-5ZM1%204h9v1h-9ZM1%205h9v1h-9ZM1%206h8v1h-8ZM2%207h7v1h-7ZM2%208h6v1h-6ZM1%209h5v1h-5Z'/%3e%3c/svg%3e" alt="" class="size-4 invert"><span>@guluc3m <span class="sr-only">en Twitter</span></span></a><a href="https://www.instagram.com/guluc3m/" target="_blank" rel="noopener" class="flex items-center gap-3 rounded-md p-2 text-gul-muted transition-colors hover:bg-gul-ink/10 hover:text-gul-ink focus-visible:bg-gul-ink/10 focus-visible:text-gul-ink"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M4%202h16v2h-16ZM2%204h2v2h-2ZM20%204h2v2h-2ZM2%206h2v2h-2ZM16%206h2v2h-2ZM20%206h2v2h-2ZM2%208h2v2h-2ZM10%208h4v2h-4ZM20%208h2v2h-2ZM2%2010h2v2h-2ZM8%2010h2v2h-2ZM14%2010h2v2h-2ZM20%2010h2v2h-2ZM2%2012h2v2h-2ZM8%2012h2v2h-2ZM14%2012h2v2h-2ZM20%2012h2v2h-2ZM2%2014h2v2h-2ZM10%2014h4v2h-4ZM20%2014h2v2h-2ZM2%2016h2v2h-2ZM20%2016h2v2h-2ZM2%2018h2v2h-2ZM20%2018h2v2h-2ZM4%2020h16v2h-16Z'/%3e%3c/svg%3e" alt="" class="size-4 invert"><span>@guluc3m <span class="sr-only">en Instagram</span></span></a></div></div><script type="module">document.querySelectorAll(`[data-gul-contact]`).forEach(e=>{let t=e.querySelector(`[data-gul-contact-trigger]`),n=e.querySelector(`[data-gul-contact-menu]`);if(!t||!n)return;t.removeAttribute(`href`),t.setAttribute(`role`,`button`),t.setAttribute(`tabindex`,`0`);let r=r=>{t.setAttribute(`aria-expanded`,String(r)),e.dataset.state=r?`open`:`closed`,n.hidden=!r},i=()=>window.matchMedia(`(hover: hover)`).matches;e.addEventListener(`pointerenter`,()=>{i()&&r(!0)}),e.addEventListener(`pointerleave`,()=>{i()&&r(!1)}),t.addEventListener(`click`,()=>{r(n.hidden===!0)}),e.addEventListener(`keydown`,e=>{e.key===`Escape`&&(r(!1),t.focus())}),document.addEventListener(`click`,t=>{e.contains(t.target)||r(!1)})});</script></div></header><main><section id="inicio" class="relative flex min-h-svh items-center overflow-hidden" data-astro-cid-hogmaycc><script>
  document.documentElement.classList.add('js');
</script><div aria-hidden="true" class="hero-base pointer-events-none absolute inset-0" data-astro-cid-jmlo7pma></div><div aria-hidden="true" style="--hero-fallback: url('/hero-fallback.svg')" class="hero-tux-fallback pointer-events-none absolute inset-0" data-astro-cid-jmlo7pma></div><canvas data-game-of-life aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full"></canvas><script>(function(){const tuxBitmap = {"width":67,"height":100,"mask":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111100000000000000000000000000000000000000000000000000000000000111111111110000000000000000000000000000000000000000000000000000001111111111111110000000000000000000000000000000000000000000000000001111111111111111100000000000000000000000000000000000000000000000000111111111111111111000000000000000000000000000000000000000000000000111111111111111111100000000000000000000000000000000000000000000000111111111111111111111000000000000000000000000000000000000000000000011111111111111111111100000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000000000000111111111111111111111000000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000000000011111111111100011111111000000000000000000000000000000000000000000001110001111100000111111100000000000000000000000000000000000000000000111000011100010001111110000000000000000000000000000000000000000000011001001110011100111111000000000000000000000000000000000000000000001101110111001110011111100000000000000000000000000000000000000000000010111111111111001111110000000000000000000000000000000000000000000001101100000111100111111000000000000000000000000000000000000000000000111100000000111111111100000000000000000000000000000000000000000000011100000000000011111110000000000000000000000000000000000000000000001100000000000000111111000000000000000000000000000000000000000000001101000000000011011111100000000000000000000000000000000000000000000111010000000110001111111000000000000000000000000000000000000000000011110110011100011111111100000000000000000000000000000000000000000001110100010000110001111110000000000000000000000000000000000000000001111001000000100000111111100000000000000000000000000000000000000000111100011111000000011111111000000000000000000000000000000000000000111110000000000000000111111100000000000000000000000000000000000000011110000000000000000011111111000000000000000000000000000000000000011111000000000000000001111111110000000000000000000000000000000000011111100000000000000000011111111100000000000000000000000000000000001111100000000000000000001111111110000000000000000000000000000000001111110000000000000000000011111111100000000000000000000000000000001111111000000000000000000001111111111000000000000000000000000000001111111000000000000000000000111111111100000000000000000000000000000111111100000000000000000000001111111111000000000000000000000000000111111100000000000000000000000111111111110000000000000000000000000011111110000000000000000000000001111111111000000000000000000000000011111110000000000000000000000000111111111110000000000000000000000001111111000000000000000000000000001111111111000000000000000000000001111111000000000000000000000000000111111111110000000000000000000000111111100000000000000000000000000001110111111000000000000000000000111101110000000000000000000000000000111011111100000000000000000000011110110000000000000000000000000000011101111110000000000000000000001111011000000000000000000000000000001110111111100000000000000000001111101100000000000000000000000000000011011111110000000000000000000111110110000000000000000000000000000000001111111000000000000000000011111011000000000000000000000000000001111101111100000000000000000001111110000000000000000000000000000001000011011110000000000000000000111111000000000000000000000000000001100000110111000000000000000000011111110000000000000000000000000001110000011111000000000000000000001000011100000000000000000000000001101000001111100000000000000000001000000111100000000000000000000000100110001111111000000000000000001100000001111000000000000000000000010001111110000010000000000000011100000000111110000000000000000000001000011100000001000000000000111000000000001111100000000000000000001100000000000000110000000000110000000000000111111000000000000000000110000000000000001000000000010000000000000001111110000000000000000011000000000000000100000000011000000000000000111111000000000000000001000000000000000011000000001100000000000000001111110000000000000000100000000000000000110000000010000000000000000011110000000000000000010000000000000000001000000001000000000000000001110000000000000000001000000000000000000110000000100000000000000000011000000000000000001100000000000000000001000000010000000000000000000110000000000000000100000000000000000001100000011000000000000000000001100000000000001110000000000000000001100000001000000000000000000000111100000000111111000000000000000011100000000100000000000000000000001111111111111111100000000000000111000000000011000000000000000000000111111111111111110000000000001110000000000000111000000000000000000011111111111111111000000000001100000000000000000111111100000000000001111100000011111100000000001100000000000000000000000111110000000001000000000000000010000000001100000000000000000000000000001110000011100000000000000001100000001100000000000000000000000000000001111111000000000000000000011100011100000000000000000000000000000000000000000000000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"};

  // define:vars only works on a plain inline script (no bundling, no imports) —
  // stash the value so the module script below (which needs to import
  // sampleTuxMask) can read it.
  window.__tuxBitmap = tuxBitmap;
})();</script><script type="module">function e(e,t,n,r,i=.5){let a=new Uint8Array(t*n),o=Math.round(n*r),s=Math.round(o*(e.width/e.height)),c=Math.round((t-s)*i),l=n-o;for(let r=0;r<o;r++){let i=l+r;if(i<0||i>=n)continue;let u=Math.min(e.height-1,Math.floor(r*e.height/o));for(let n=0;n<s;n++){let r=c+n;if(r<0||r>=t)continue;let o=Math.min(e.width-1,Math.floor(n*e.width/s));e.mask[u*e.width+o]===`1`&&(a[i*t+r]=1)}}return a}var t=[[.3,`rgba(156, 152, 140, 0.34)`],[1,`rgba(0, 117, 176, 0.34)`]],n=`#0a0a09`,r=`transparent`,i=.45,a=`#ece7d8`,o=1,s=.9,c=8,l=`(max-width: 71.874rem), (max-aspect-ratio: 4 / 3)`,u=document.querySelector(`[data-game-of-life]`),d=u?.getContext(`2d`);if(u&&d){let f=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,p=0,m=0,h=new Uint8Array,g,_=new Uint8Array,v=0,y=(e,t)=>t*p+e;function b(){let{width:n,height:r}=u.getBoundingClientRect();u.width=n,u.height=r,p=Math.max(1,Math.ceil(n/10)),m=Math.max(1,Math.ceil(r/10)),h=new Uint8Array(p*m);for(let e=0;e<h.length;e++)h[e]=+(Math.random()<.2);g=d.createLinearGradient(n,0,0,r);for(let[e,n]of t)g.addColorStop(e,n);_=window.matchMedia(l).matches?new Uint8Array(p*m):e(window.__tuxBitmap,p,m,o,s),v=f?c:0,S()}function x(){let e=new Uint8Array(h.length);for(let t=0;t<m;t++)for(let n=0;n<p;n++){let r=0;for(let e=-1;e<=1;e++)for(let i=-1;i<=1;i++){if(i===0&&e===0)continue;let a=(n+i+p)%p,o=(t+e+m)%m;r+=h[y(a,o)]}let i=h[y(n,t)];e[y(n,t)]=r===3||i&&r===2?1:0}h=e}function S(){d.clearRect(0,0,u.width,u.height),d.fillStyle=r,d.fillRect(0,0,u.width,u.height);for(let e=0;e<m;e++)for(let t=0;t<p;t++){let r=y(t,e),o=_[r]&&(v>=c||Math.random()<v/c);d.globalAlpha=o?1:i,d.fillStyle=o?a:h[r]?g:n,d.fillRect(t*10,e*10,8,8)}}let C=0,w=!1,T=0;function E(e){w&&(e-C>=140&&(x(),v<c&&v++,S(),C=e),T=requestAnimationFrame(E))}let D=()=>{w||f||(w=!0,T=requestAnimationFrame(E))},O=()=>{w=!1,cancelAnimationFrame(T)};b();let k=window.devicePixelRatio,A=window.innerWidth;window.addEventListener(`resize`,()=>{let e=window.devicePixelRatio;if(e!==k){k=e;return}let t=window.innerWidth!==A;A=window.innerWidth,(t||window.matchMedia(`(hover: hover)`).matches)&&b()}),new IntersectionObserver(([e])=>e.isIntersecting?D():O()).observe(u)}</script><div class="relative max-w-3xl px-4 py-8 sm:px-8 md:px-32" data-astro-cid-hogmaycc><p class="flex items-center gap-3 text-sm font-medium tracking-[0.2em] text-gul-muted uppercase mb-4"><span data-astro-cid-hogmaycc>Grupo de Usuarios de Linux de la <a href="https://uc3m.es" target="_blank" rel="noopener" class="underline decoration-gul-line underline-offset-4 hover:text-gul-ink hover:decoration-gul-ink" data-astro-cid-hogmaycc>UC3M</a></span></p><h1 class="text-4xl tracking-tight sm:text-5xl md:text-6xl" data-astro-cid-hogmaycc>Nos gusta <em class="italic" data-astro-cid-hogmaycc>jugar</em> con la tecnología</h1><figure class="mt-6" data-fortuna-figure data-fortuna-pending data-astro-cid-hogmaycc><blockquote data-decrypt="true" data-decrypt-on-load="false" data-speed="40" data-stagger="28" class="whitespace-pre-line" data-fortuna-quote="true" data-fortuna-index="141" data-astro-cid-hogmaycc="true" data-astro-cid-icd2xqxq="true">«Las chicas son más lesbianas que los chicos»</blockquote><figcaption data-fortuna-author-wrap data-astro-cid-hogmaycc><span aria-hidden="true" data-astro-cid-hogmaycc>— </span><span data-decrypt="true" data-decrypt-on-load="false" data-speed="40" data-stagger="28" data-fortuna-author="true" data-astro-cid-hogmaycc="true" data-astro-cid-icd2xqxq="true">JEDA</span></figcaption><button type="button" class="relative overflow-hidden rounded-md px-3 py-2 text-sm font-semibold font-mono transition-colors duration-100 border border-gul-line text-gul-ink hover:border-gul-ink hover:bg-gul-ink hover:text-gul-bg focus-visible:border-gul-ink focus-visible:bg-gul-ink focus-visible:text-gul-bg mt-4" data-gul-btn title="Pulsa R en cualquier momento para otra fortuna" data-refresh-fortuna="true" data-astro-cid-hogmaycc="true" data-astro-cid-bkhbbm22><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><span class="relative z-10 inline-flex items-center gap-1" data-gul-btn-content data-astro-cid-bkhbbm22><kbd aria-hidden="true" class="mr-1 font-sans text-[0.65rem] leading-none transition-colors duration-100" data-astro-cid-bkhbbm22>R</kbd><span data-decrypt="true" data-decrypt-on-load="true" data-speed="40" data-stagger="28" data-astro-cid-bkhbbm22="true" data-astro-cid-icd2xqxq="true">Otra fortuna</span></span></button></figure></div><div id="fortunas-completadas" class="fortuna-achievement" data-achievement role="status" aria-live="polite" aria-atomic="true" aria-hidden="true" hidden data-astro-cid-ria6qthd><span class="fortuna-achievement__icon" aria-hidden="true" data-astro-cid-ria6qthd>★</span><span data-astro-cid-ria6qthd><strong class="fortuna-achievement__title" data-astro-cid-ria6qthd>¡Logro desbloqueado!</strong><span class="fortuna-achievement__message" data-astro-cid-ria6qthd>Has leído todas las 323 fortunas</span></span></div><script>(function(){const id = "fortunas-completadas";

  const achievement = document.getElementById(id);

  const showAchievement = (event) => {
    if (event.detail !== id) return;
    if (!achievement) return;

    achievement.hidden = false;
    achievement.setAttribute('aria-hidden', 'false');
    // Force a reflow so the animation can be replayed on every full cycle.
    achievement.classList.remove('is-visible');
    void achievement.offsetWidth;
    achievement.classList.add('is-visible');
  };

  document.addEventListener('gul:achievement:show', showAchievement);

  achievement?.addEventListener('animationend', () => {
    achievement.hidden = true;
    achievement.setAttribute('aria-hidden', 'true');
    achievement.classList.remove('is-visible');
  });
})();</script></section><script type="module">var e=document.querySelector(`[data-fortuna-quote]`),t=document.querySelector(`[data-fortuna-author]`),n=document.querySelector(`[data-fortuna-author-wrap]`),r=document.querySelector(`[data-refresh-fortuna]`),i=document.querySelector(`[data-fortuna-figure]`);if(e&&t&&n&&r){let a,o=()=>a??=fetch(`/fortunas.json`).then(e=>e.json()).catch(()=>(a=void 0,[]));o();let s=Number(e.dataset.fortunaIndex),c=new Set,l=!1;function u(){n.hidden||(t.removeAttribute(`data-decrypt-paused`),document.dispatchEvent(new CustomEvent(`gul:decrypt:resume`,{detail:t})))}e.addEventListener(`gul:decrypt:complete`,t=>{t.target===e&&u()});async function d(r=!0){let i=await o();c.size>=i.length&&(c.clear(),c.add(s));let a=i.map((e,t)=>t).filter(e=>e!==s&&!c.has(e));if(!a.length)return;s=a[Math.floor(Math.random()*a.length)],c.add(s);let u=i[s];e.textContent=u.quote,r&&e.dispatchEvent(new CustomEvent(`gul:decrypt`,{bubbles:!0,detail:e})),t.textContent=u.author,n.hidden=!u.author,r&&u.author?(t.dataset.decryptPaused=`true`,document.dispatchEvent(new CustomEvent(`gul:decrypt`,{detail:t}))):t.removeAttribute(`data-decrypt-paused`),!l&&c.size===i.length&&(document.dispatchEvent(new CustomEvent(`gul:achievement:show`,{detail:`fortunas-completadas`})),l=!0)}d(!1).finally(()=>i?.removeAttribute(`data-fortuna-pending`)),r.addEventListener(`click`,()=>d());let f=0;document.addEventListener(`keydown`,e=>{if(e.key!==`r`&&e.key!==`R`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t?.isContentEditable||t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement)return;let n=performance.now();n-f<200||(f=n,d())})}</script><section id="que-es-el-gul" class="gul-gutter mx-auto grid max-w-gul-content gap-8 py-8 md:grid-cols-2 md:items-center"><div class="relative overflow-hidden rounded-md border border-gul-line"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 p-2"><div class="gul-gallery flex h-56 w-full snap-x snap-mandatory gap-2 overflow-x-auto md:h-96 md:snap-none md:overflow-visible" data-gul-gallery="que-es-el-gul-gallery" data-astro-cid-4pzbknks><button type="button" class="gul-gallery-tile relative w-4/5 shrink-0 snap-center overflow-hidden rounded-md md:w-auto md:min-w-0 md:shrink md:flex-1" data-index="0" data-full="/_astro/teclados.DxYovnGt_12NpMw.webp" data-astro-cid-4pzbknks><img src="/_astro/teclados.DxYovnGt_ZCPN3P.webp" srcset="/_astro/teclados.DxYovnGt_1RW74p.webp 400w, /_astro/teclados.DxYovnGt_vpfCw.webp 800w" alt="Miembros del GUL soldando un teclado split" sizes="(min-width: 48rem) 25vw, 80vw" data-astro-cid-4pzbknks="true" loading="lazy" decoding="async" width="2048" height="1536" class="h-full w-full object-cover"><span class="gul-gallery-tile-overlay absolute inset-0 bg-gul-bg" data-astro-cid-4pzbknks></span></button><button type="button" class="gul-gallery-tile relative w-4/5 shrink-0 snap-center overflow-hidden rounded-md md:w-auto md:min-w-0 md:shrink md:flex-1" data-index="1" data-full="/_astro/charla.BkRYCleC_ZpXdTl.webp" data-astro-cid-4pzbknks><img src="/_astro/charla.BkRYCleC_2qpFmx.webp" srcset="/_astro/charla.BkRYCleC_2f3mkU.webp 400w, /_astro/charla.BkRYCleC_Z1BlErP.webp 800w" alt="Charla del GUL atestada de gente" sizes="(min-width: 48rem) 25vw, 80vw" data-astro-cid-4pzbknks="true" loading="lazy" decoding="async" width="1280" height="960" class="h-full w-full object-cover"><span class="gul-gallery-tile-overlay absolute inset-0 bg-gul-bg" data-astro-cid-4pzbknks></span></button><button type="button" class="gul-gallery-tile relative w-4/5 shrink-0 snap-center overflow-hidden rounded-md md:w-auto md:min-w-0 md:shrink md:flex-1" data-index="2" data-full="/_astro/install.Dit8E4nb_155Ml.webp" data-astro-cid-4pzbknks><img src="/_astro/install.Dit8E4nb_mJjxs.webp" srcset="/_astro/install.Dit8E4nb_1TRf0t.webp 400w, /_astro/install.Dit8E4nb_1C5pIn.webp 800w" alt="Portátil instalando Linux con Ventoy y un fondo del GUL" sizes="(min-width: 48rem) 25vw, 80vw" data-astro-cid-4pzbknks="true" loading="lazy" decoding="async" width="1536" height="2048" class="h-full w-full object-cover"><span class="gul-gallery-tile-overlay absolute inset-0 bg-gul-bg" data-astro-cid-4pzbknks></span></button><button type="button" class="gul-gallery-tile relative w-4/5 shrink-0 snap-center overflow-hidden rounded-md md:w-auto md:min-w-0 md:shrink md:flex-1" data-index="3" data-full="/_astro/feria.N1kaCU1l_ZOJWu8.webp" data-astro-cid-4pzbknks><img src="/_astro/feria.N1kaCU1l_Z2coijT.webp" srcset="/_astro/feria.N1kaCU1l_Z2sCCbo.webp 400w, /_astro/feria.N1kaCU1l_ZpUzn2.webp 800w" alt="GUL en la Feria de Asociaciones. El presi con camiseta roja del GUL abrazando a un peluche de Tux" sizes="(min-width: 48rem) 25vw, 80vw" data-astro-cid-4pzbknks="true" loading="lazy" decoding="async" width="1280" height="719" class="h-full w-full object-cover"><span class="gul-gallery-tile-overlay absolute inset-0 bg-gul-bg" data-astro-cid-4pzbknks></span></button></div><dialog id="que-es-el-gul-gallery" data-gul-gallery-view class="gul-gallery-view" data-astro-cid-4pzbknks><button type="button" data-gul-gallery-close class="gul-gallery-control gul-gallery-close" aria-label="Cerrar" data-astro-cid-4pzbknks><svg viewBox="0 0 24 24" class="size-6" fill="none" stroke="currentColor" stroke-width="2" data-astro-cid-4pzbknks><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" data-astro-cid-4pzbknks></path></svg></button><button type="button" data-gul-gallery-prev class="gul-gallery-control gul-gallery-prev" aria-label="Anterior" data-astro-cid-4pzbknks><svg viewBox="0 0 24 24" class="size-8" fill="none" stroke="currentColor" stroke-width="2" data-astro-cid-4pzbknks><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7" data-astro-cid-4pzbknks></path></svg></button><img data-gul-gallery-image alt="" class="gul-gallery-image" data-astro-cid-4pzbknks><button type="button" data-gul-gallery-next class="gul-gallery-control gul-gallery-next" aria-label="Siguiente" data-astro-cid-4pzbknks><svg viewBox="0 0 24 24" class="size-8" fill="none" stroke="currentColor" stroke-width="2" data-astro-cid-4pzbknks><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7" data-astro-cid-4pzbknks></path></svg></button><p data-gul-gallery-counter class="gul-gallery-counter" data-astro-cid-4pzbknks></p></dialog><script type="module">document.querySelectorAll(`[data-gul-gallery]`).forEach(e=>{let t=e.dataset.gulGallery,n=document.getElementById(t),r=Array.from(e.querySelectorAll(`.gul-gallery-tile`)),i=r.map(e=>e.dataset.full??e.querySelector(`img`).src);if(!n||i.length===0)return;let a=n.querySelector(`[data-gul-gallery-image]`),o=n.querySelector(`[data-gul-gallery-counter]`),s=0;function c(e){s=(e+i.length)%i.length,a.src=i[s],a.alt=`Imagen ${s+1}`,o&&(o.textContent=`${s+1} / ${i.length}`)}r.forEach((e,t)=>e.addEventListener(`click`,()=>{c(t),n.showModal()})),n.querySelector(`[data-gul-gallery-close]`)?.addEventListener(`click`,()=>n.close()),n.querySelector(`[data-gul-gallery-prev]`)?.addEventListener(`click`,()=>c(s-1)),n.querySelector(`[data-gul-gallery-next]`)?.addEventListener(`click`,()=>c(s+1)),n.addEventListener(`click`,e=>{e.target===n&&n.close()})});</script></div></div><div><h2>¿Qué es el GUL?</h2><div class="font-mono text-sm" data-gul-terminal data-astro-cid-k5eui5lm><p data-astro-cid-k5eui5lm><span class="text-gul-blue" data-astro-cid-k5eui5lm>gul@uc3m $&gt;</span> <span data-terminal-cmd data-astro-cid-k5eui5lm><span data-terminal-cmd-text data-astro-cid-k5eui5lm>whoami</span><span data-terminal-cursor class="hidden" data-astro-cid-k5eui5lm>█</span></span></p></div><noscript><style>
    /* Terminal output starts hidden for the JS animation, but must remain
       visible when JavaScript is disabled. */
    [data-terminal-output] {
      opacity: 1 !important;
    }
  </style></noscript><script type="module">function e(e){return new Promise(t=>window.setTimeout(t,e))}async function t(t){let n=t.querySelectorAll(`p`),r=new Map;n.forEach((e,t)=>{let n=e.querySelector(`[data-terminal-cmd-text]`);n&&(r.set(n,n.textContent??``),n.textContent=``),t>0&&e.classList.add(`hidden`)});for(let t of n){let n=t.querySelector(`[data-terminal-cmd-text]`),i=t.querySelector(`[data-terminal-cursor]`),a=t.querySelector(`[data-terminal-output]`);if(!n||!i)continue;t.classList.remove(`hidden`);let o=r.get(n)??``;i.classList.remove(`hidden`);for(let t=1;t<=o.length;t++)n.textContent=o.slice(0,t),await e(30+Math.random()*60);i.classList.add(`hidden`),a&&(await e(200),a.classList.remove(`opacity-0`)),await e(400)}}var n=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,r=document.querySelectorAll(`[data-gul-terminal]`);if(n)r.forEach(e=>{e.querySelectorAll(`[data-terminal-output]`).forEach(e=>e.classList.remove(`opacity-0`))});else{let e=new IntersectionObserver((e,n)=>{for(let r of e)r.isIntersecting&&(t(r.target),n.unobserve(r.target))},{threshold:.3});r.forEach(t=>e.observe(t))}</script><p class="mt-4 text-justify text-gul-muted">El <b class="text-gul-ink">Grupo de Usuarios de Linux</b> es una asociación de estudiantes unidos por nuestras inquietudes en torno a los ordenadores, la informática y, en concreto, la idea común de la utilización y promoción del <a href="https://www.gnu.org/philosophy/free-sw.es.html" target="_blank" rel="noopener" class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"><b>software libre</b></a>.</p><p class="mt-4 text-justify text-gul-muted">Llevamos <b class="text-gul-ink"><span data-years-since="1998">28</span> años</b> reuniéndonos para aprender y compartir conocimientos, así como organizando decenas de talleres, charlas, hackatones, y <i>game jams</i>. Si no estás aquí por la fiesta, también tenemos algunos grupos de trabajo enfocados en distintas áreas de la informática y la tecnología, como <b class="text-gul-ink"> programación</b>, <b class="text-gul-ink"> juegos</b> o <b class="text-gul-ink">IA</b>.</p></div></section><script type="module">var e=document.querySelector(`[data-years-since]`);if(e){let t=Number(e.dataset.yearsSince);e.textContent=String(new Date().getFullYear()-t)}</script><section id="proyectos" class="gul-gutter mx-auto max-w-gul-content py-8"><h2>Proyectos</h2><div class="font-mono text-sm" data-gul-terminal data-astro-cid-k5eui5lm><p data-astro-cid-k5eui5lm><span class="text-gul-blue" data-astro-cid-k5eui5lm>gul@uc3m $&gt;</span> <span data-terminal-cmd data-astro-cid-k5eui5lm><span data-terminal-cmd-text data-astro-cid-k5eui5lm>ls projects/</span><span data-terminal-cursor class="hidden" data-astro-cid-k5eui5lm>█</span></span></p></div><noscript><style>
    /* Terminal output starts hidden for the JS animation, but must remain
       visible when JavaScript is disabled. */
    [data-terminal-output] {
      opacity: 1 !important;
    }
  </style></noscript><div class="mt-4 grid items-center gap-8 md:grid-cols-10"><div class="md:col-span-6"><ul class="grid gap-4 md:grid-cols-2"><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/report-template-typst" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">report-template-typst</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">Plantilla de Typst para memorias de trabajos, laboratorios, etc. de la UC3M</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>Typst</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>12</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>4</span></div></div></div></li><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/uc3m-thesis-ieee-typst" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">uc3m-thesis-ieee-typst</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">Plantilla de Typst para TFG/TFM de la UC3M</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>Typst</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>6</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>0</span></div></div></div></li><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/linux-install" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">linux-install</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">Guía de instalación de Linux del GUL</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>Shell</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>10</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>0</span></div></div></div></li><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/opengl-group" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">opengl-group</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">Grupo de aprendizaje de OpenGL</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>C++</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>0</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>0</span></div></div></div></li><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/webpage" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">webpage</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">Página principal de GUL UC3M</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>TypeScript</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>1</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>0</span></div></div></div></li><li><div class="relative overflow-hidden rounded-md border border-gul-line transition-colors hover:border-gul-ink/40 bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.3" data-max-density="0.65" data-x-bias="0.8" data-falloff="1.6" data-ordered-mix="0.75" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 flex min-h-38 w-full flex-col p-4"><div class="flex flex-wrap items-center gap-1"><svg viewBox="0 0 24 24" class="size-4 shrink-0 stroke-current stroke-[1.5] text-gul-muted" fill="none"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 3v18"/></svg><a href="https://github.com/guluc3m/zoe-lib-python" target="_blank" rel="noopener" class="font-medium text-gul-blue hover:underline">zoe-lib-python</a></div><p class="mt-2 line-clamp-2 text-sm text-gul-muted">El asistente virtual del GUL</p><div class="mt-auto flex flex-wrap items-center gap-4 pt-4 text-xs text-gul-muted font-mono"><span class="flex items-center gap-1.5"><span class="size-2.5 rounded-full bg-gul-blue"></span>Python</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><polygon points="12,3 14.9,9.6 22,10.4 16.7,15.1 18.2,22 12,18.3 5.8,22 7.3,15.1 2,10.4 9.1,9.6"/></svg>4</span><span class="flex items-center gap-1"><svg viewBox="0 0 24 24" class="size-3.5 stroke-current stroke-[1.5]" fill="none"><circle cx="7" cy="5" r="2"/><circle cx="17" cy="5" r="2"/><circle cx="12" cy="19" r="2"/><path d="M7 7v3a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V7M12 13v4"/></svg>0</span></div></div></div></li></ul></div><div class="order-first md:order-none md:col-span-4"><p class="text-justify text-gul-muted">Desde <i>el</i> GUL desarrollamos talleres, charlas, JAMs, proyectos... Nos empeñamos en hacer una gran cantidad de actividades con las que promover el software libre.</p><p class="mt-4 text-justify text-gul-muted">No hace falta saber programar ni haber usado Linux antes: la mayoría empezó igual que tú, en una charla, un taller o una <i><b>install party</b></i> con la que instalar tú primera distro, y de ahí a picar código o soldar un teclado hay solo un paso. <b><a href="/actividades/" target="_blank" rel="noopener" class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink">Aquí, puedes ver todas las actividades</a></b> que hacemos.</p><div class="mt-4"><div class="relative overflow-hidden rounded-md border border-gul-line bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 p-3"><div class="mx-auto grid gap-[3px]" style="grid-template-columns:repeat(25, minmax(0, 1fr));max-width:347px"><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.52s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.17s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.54s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.40s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.40s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.59s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.76s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.18s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.62s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.26s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.80s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.76s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.59s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.04s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.99s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.51s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.58s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.38s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.44s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.23s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.86s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.35s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.08s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.37s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.97s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.21s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.19s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.47s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.03s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.41s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.07s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.68s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.82s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.59s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.18s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.20s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.74s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.59s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.05s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.22s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.85s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.28s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.25s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.54s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.87s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.55s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.15s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.13s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.25s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.82s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.44s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.83s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.45s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.06s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.38s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.38s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.88s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.18s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.94s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.61s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.15s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.47s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.15s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.74s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.26s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.51s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.20s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.10s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.51s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.51s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.90s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.13s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.16s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.12s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.52s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.48s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.36s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.57s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.43s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.03s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:1.00s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.43s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.51s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:0.96s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.99s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.48s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.48s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.42s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:1.06s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#3fa9dc;animation-delay:1.35s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#0075b0;animation-delay:0.20s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.01s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.36s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.00s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:1.27s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.18s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.97s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:1.07s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#3fa9dc;animation-delay:0.26s"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#004a70;animation-delay:0.34s"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.29s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-flash" style="--highlight:#004a70;animation-delay:0.69s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line animate-highlight" style="--highlight:#0075b0;animation-delay:0.61s"></div><div class="aspect-square rounded-xs bg-gul-line"></div><div class="aspect-square rounded-xs bg-gul-line"></div></div></div></div></div></div></div></section><section id="donde-estamos" class="gul-gutter mx-auto max-w-gul-content py-8"><h2>¿Dónde estamos?</h2><div class="mt-4 grid gap-4 md:grid-cols-10"><div class="flex flex-col gap-4 md:col-span-6"><div class="font-mono text-sm" data-gul-terminal data-astro-cid-k5eui5lm><p data-astro-cid-k5eui5lm><span class="text-gul-blue" data-astro-cid-k5eui5lm>gul@uc3m $&gt;</span> <span data-terminal-cmd data-astro-cid-k5eui5lm><span data-terminal-cmd-text data-astro-cid-k5eui5lm>hostnamectl | grep Location</span><span data-terminal-cursor class="hidden" data-astro-cid-k5eui5lm>█</span></span><span data-terminal-output class="mt-1 block text-gul-muted opacity-0" data-astro-cid-k5eui5lm>Location: <b>Despacho 2.3.C05, Edificio Sabatini, EPS-UC3M</b></span></p><p data-astro-cid-k5eui5lm><span class="text-gul-blue" data-astro-cid-k5eui5lm>gul@uc3m $&gt;</span> <span data-terminal-cmd data-astro-cid-k5eui5lm><span data-terminal-cmd-text data-astro-cid-k5eui5lm>which EPS-UC3M</span><span data-terminal-cursor class="hidden" data-astro-cid-k5eui5lm>█</span></span><span data-terminal-output class="mt-1 block text-gul-muted opacity-0" data-astro-cid-k5eui5lm><b>Avenida de la Universidad, 30, 28911 Leganés, Madrid</b></span></p></div><noscript><style>
    /* Terminal output starts hidden for the JS animation, but must remain
       visible when JavaScript is disabled. */
    [data-terminal-output] {
      opacity: 1 !important;
    }
  </style></noscript><div class="relative overflow-hidden rounded-md border border-gul-line bg-gul-surface"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="relative z-10 p-2"><img src="/_astro/despacho.CsKwvKN6_2dkFaJ.webp" srcset="/_astro/despacho.CsKwvKN6_2gUCRT.webp 400w, /_astro/despacho.CsKwvKN6_Z1Khwcz.webp 800w" alt="Despacho del GUL" sizes="(min-width: 48rem) 40vw, 100vw" loading="lazy" decoding="async" width="1280" height="960" class="w-full rounded-md"></div></div></div><div class="overflow-hidden rounded-md border border-gul-line md:col-span-4"><div data-map class="h-full min-h-96 w-full bg-gul-surface grayscale" role="img" aria-label="Mapa: sede del GUL en el edificio Sabatini, Leganés" data-astro-cid-x3uax5z7></div><script type="module" src="/_astro/Map.astro_astro_type_script_index_0_lang.D9poBlr5.js"></script></div></div></section><section id="faq" class="gul-gutter mx-auto max-w-gul-content py-8"><h2>FAQ</h2><div class="font-mono text-sm" data-gul-terminal data-astro-cid-k5eui5lm><p data-astro-cid-k5eui5lm><span class="text-gul-blue" data-astro-cid-k5eui5lm>gul@uc3m $&gt;</span> <span data-terminal-cmd data-astro-cid-k5eui5lm><span data-terminal-cmd-text data-astro-cid-k5eui5lm>man faq</span><span data-terminal-cursor class="hidden" data-astro-cid-k5eui5lm>█</span></span></p></div><noscript><style>
    /* Terminal output starts hidden for the JS animation, but must remain
       visible when JavaScript is disabled. */
    [data-terminal-output] {
      opacity: 1 !important;
    }
  </style></noscript><div class="mt-4"><div><details><summary>¿Cómo me apunto al GUL?</summary><div><p class="text-gul-muted">Es tan fácil como entrar a nuestros grupos de Telegram. Para evitar que se nos metan bots continuamente, son por invitación, y por lo tanto tendrás que mandarnos un correo a <a href="#" data-gul-email class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"><span data-gul-email-text>info AT gul.uc3m.es</span></a>, o enviarnos un MD a nuestro Twitter, <a href="https://twitter.com/guluc3m"
        target="_blank" rel="noopener"
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >@guluc3m</a>.</p></div></details><details><summary>¿Hay que saber Linux?</summary><div><p class="text-gul-muted">¡No! Aquí venimos a aprender. Por supuesto que <em>esperamos</em> que te instales Linux en algún momento, pero aún así, siempre que quieras hablar de tecnología y/o software libre, serás bienvenido. Si quieres instalar Linux, o aprender un poquito más, échale un vistazo a nuestra <a href="/guia"
        
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >guía de instalación</a>.</p></div></details><details><summary>¿Cuándo quedáis?</summary><div><p class="text-gul-muted">Intentamos reunirnos al menos una vez al mes, y tenemos reuniones &quot;generales&quot; una vez al cuatrimestre. También hacemos distintos talleres y charlas, a las que por supuesto estás invitado. También estamos unos u otros de vez en cuando en el despacho, así que si te pasas y está la puerta abierta u oyes ruido dentro, no temas en saludar.</p></div></details><details><summary>¿Dónde anunciáis vuestras actividades?</summary><div><p class="text-gul-muted">A través de nuestras redes sociales (Twitter: <a href="https://twitter.com/guluc3m"
        target="_blank" rel="noopener"
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >@guluc3m</a>, Instagram: <a href="https://instagram.com/guluc3m"
        target="_blank" rel="noopener"
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >@guluc3m</a>), y en la aplicación <a href="https://openuc3m.com/"
        target="_blank" rel="noopener"
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >Open uc3m</a>. ¡Síguenos para no perderte nada! También publicamos todas nuestras actividades pasadas en la <a href="/actividades"
        
        class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"
      >página de actividades</a>.</p></div></details><details><summary>Tengo &quot;x&quot; problema con Linux... ¿me podéis ayudar?</summary><div><p class="text-gul-muted">¡Por supuesto! Envíanos un correo a <a href="#" data-gul-email class="text-gul-ink underline decoration-gul-line underline-offset-4 hover:decoration-gul-ink"><span data-gul-email-text>info AT gul.uc3m.es</span></a> y veremos qué podemos hacer.</p></div></details></div></div></section></main><footer id="legal" data-reveal class="translate-y-8 border-t border-gul-line bg-gul-surface text-sm text-gul-muted opacity-0 transition-all duration-700 ease-out [&amp;.is-visible]:translate-y-0 [&amp;.is-visible]:opacity-100"><div class="gul-gutter mx-auto max-w-gul-content py-8"><canvas data-pixel-dissolve data-cell="3" data-color="0, 117, 176" data-alpha="0.4" data-max-density="0.5" data-x-bias="0.5" data-falloff="10" data-ordered-mix="0.85" aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full [image-rendering:pixelated]"></canvas><div class="grid gap-8 md:grid-cols-3"><div><h2 class="text-sm font-normal">Encuéntranos</h2><p class="mt-3 flex gap-3"><a href="https://github.com/guluc3m" target="_blank" rel="noopener" aria-label="GitHub" class="opacity-80 hover:opacity-100"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M6%202h12v2h-12ZM4%204h16v2h-16ZM2%206h4v2h-4ZM8%206h8v2h-8ZM18%206h4v2h-4ZM2%208h4v2h-4ZM18%208h4v2h-4ZM2%2010h2v2h-2ZM20%2010h2v2h-2ZM2%2012h4v2h-4ZM18%2012h4v2h-4ZM2%2014h6v2h-6ZM16%2014h6v2h-6ZM2%2016h2v2h-2ZM6%2016h4v2h-4ZM14%2016h8v2h-8ZM4%2018h2v2h-2ZM14%2018h6v2h-6ZM6%2020h4v2h-4ZM14%2020h4v2h-4Z'/%3e%3c/svg%3e" alt="" loading="lazy" class="h-8 w-8 invert"></a><a href="https://youtube.com/c/guluc3m" target="_blank" rel="noopener" aria-label="YouTube" class="opacity-80 hover:opacity-100"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M20%206h2v12h-2v2H4v-2H2V6h2V4h16v2ZM8%2017h4v-2h3v-2h2v-2h-2V9h-3V7H8v10Z'/%3e%3c/svg%3e" alt="" loading="lazy" class="h-8 w-8 invert"></a><a href="https://twitter.com/guluc3m" target="_blank" rel="noopener" aria-label="Twitter" class="opacity-80 hover:opacity-100"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2012%2012'%3e%3cpath%20d='M6%201h3v1h-3ZM0%202h2v1h-2ZM5%202h6v1h-6ZM1%203h3v1h-3ZM5%203h5v1h-5ZM1%204h9v1h-9ZM1%205h9v1h-9ZM1%206h8v1h-8ZM2%207h7v1h-7ZM2%208h6v1h-6ZM1%209h5v1h-5Z'/%3e%3c/svg%3e" alt="" loading="lazy" class="h-8 w-8 invert"></a><a href="https://www.instagram.com/guluc3m/" target="_blank" rel="noopener" aria-label="Instagram" class="opacity-80 hover:opacity-100"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M4%202h16v2h-16ZM2%204h2v2h-2ZM20%204h2v2h-2ZM2%206h2v2h-2ZM16%206h2v2h-2ZM20%206h2v2h-2ZM2%208h2v2h-2ZM10%208h4v2h-4ZM20%208h2v2h-2ZM2%2010h2v2h-2ZM8%2010h2v2h-2ZM14%2010h2v2h-2ZM20%2010h2v2h-2ZM2%2012h2v2h-2ZM8%2012h2v2h-2ZM14%2012h2v2h-2ZM20%2012h2v2h-2ZM2%2014h2v2h-2ZM10%2014h4v2h-4ZM20%2014h2v2h-2ZM2%2016h2v2h-2ZM20%2016h2v2h-2ZM2%2018h2v2h-2ZM20%2018h2v2h-2ZM4%2020h16v2h-16Z'/%3e%3c/svg%3e" alt="" loading="lazy" class="h-8 w-8 invert"></a><a href="https://www.linkedin.com/company/gul-uc3m/" target="_blank" rel="noopener" aria-label="LinkedIn" class="opacity-80 hover:opacity-100"><img src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M20%2022H4v-2h16v2ZM4%2020H2V4h2v16Zm18%200h-2V4h2v16ZM9%2017H7v-6h2v6Zm6-6v2h-2v4h-2v-6h4Zm2%206h-2v-4h2v4ZM9%209H7V7h2v2Zm11-5H4V2h16v2Z'/%3e%3c/svg%3e" alt="" loading="lazy" class="h-8 w-8 invert"></a></p></div><div id="contact"><h2 class="text-sm font-normal">Contáctanos</h2><!-- Email is obfuscated in the generated HTML and resolved client-side. --><p class="mt-3"><span class="text-gul-ink">Correo:</span> <a data-gul-email class="text-gul-muted underline decoration-gul-line underline-offset-4 hover:text-gul-ink hover:decoration-gul-ink"><span data-gul-email-text>info AT gul.uc3m.es</span></a></p></div><div><h2 class="text-sm font-normal">Documentos</h2><ul class="mt-3 space-y-1"><li><a href="https://cloud-gul.uc3m.es/s/s5TRM78die8rdAc" target="_blank" rel="noopener" class="underline decoration-gul-line underline-offset-4 hover:text-gul-ink hover:decoration-gul-ink">Estatutos</a></li><li><a href="https://cloud-gul.uc3m.es/s/f8ALGXstCpJa5Lc" target="_blank" rel="noopener" class="underline decoration-gul-line underline-offset-4 hover:text-gul-ink hover:decoration-gul-ink">Código de Conducta</a></li></ul></div></div><div class="mx-auto mt-8 flex items-center gap-3"><hr class="flex-1"><img src="/gul-icon-white.svg" alt="" class="h-5 w-5"><hr class="flex-1"></div><div class="grid gap-6 md:grid-cols-2"><div class="py-6"><p class="text-justify">El Grupo de Usuarios de Linux de la Universidad Carlos III de Madrid es una asociación declarada de beneficio social por el Ministerio de Hacienda.</p></div><div class="py-6"><p><span class="text-gul-ink">Domicilio social:</span> Despacho 2.3.C05, Edificio Sabatini, Avenida de la Universidad, 30, 28911 Leganés, Madrid, España.<br><span class="text-gul-ink">C.I.F.:</span> G83296988<br><span class="text-gul-ink">Número de registro de la comunidad de Madrid:</span> 23500<br><span class="text-gul-ink">Número de registro del ayuntamiento de Leganés:</span> 795</p></div></div><div class="flex items-center justify-between gap-2 font-heading text-[0.625rem] whitespace-nowrap sm:gap-3 sm:text-sm md:text-lg"><span>$&gt; GUL UC3M · EST. 1998;</span><hr class="flex-1"></div></div></footer><noscript><style>
    /* Without JS the is-visible class never lands - never leave real content (the
       legal block, contact info) permanently hidden behind a JS-only condition. */
    [data-reveal] {
      opacity: 1 !important;
      transform: none !important;
    }
  </style></noscript><script type="module">var e=document.querySelector(`[data-reveal]`);if(e){if(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)e.classList.add(`is-visible`);else{let t=new IntersectionObserver(([n])=>{n.isIntersecting&&(e.classList.add(`is-visible`),t.disconnect())},{threshold:.15});t.observe(e)}}</script><script type="module">document.querySelectorAll(`[data-gul-email]`).forEach(e=>{let t=e.querySelector(`[data-gul-email-text]`)??e,n=t.textContent?.replace(` AT `,`@`).trim();n&&(t.textContent=n,e.href=`mailto:${n}`)});</script></body></html>