PageSourceSearch

https://elkos.gr/about/

html elkos.gr collected 2026-10-07 16:07:43 UTC 43,791 bytes, 8 lines download raw bytes

1<!doctype html><html lang=en dir=auto data-theme=dark><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>About | Eleftherios Kosmas</title><meta name=keywords content><meta name=description content="About Eleftherios Kosmas — sleep technologist, open-source space contributor, and maintainer of clinical EEG/sleep reference tools."><meta name=author content="Eleftherios Kosmas"><link rel=canonical href=https://elkos.gr/about/><link crossorigin=anonymous href=/assets/css/stylesheet.a9a28335204d54fce54fa0ba7c5cf458b8cbdcb3acb5d9e6b81d3f6f40c6b971.css integrity="sha256-qaKDNSBNVPzlT6C6fFz0WLjL3LOstdnmuB0/b0DGuXE=" rel="preload stylesheet" as=style><link rel=icon href=https://elkos.gr/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://elkos.gr/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://elkos.gr/favicon-32x32.png><link rel=apple-touch-icon href=https://elkos.gr/apple-touch-icon.png><link rel=mask-icon href=https://elkos.gr/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate hreflang=en href=https://elkos.gr/about/><link rel=alternate hreflang=el href=https://elkos.gr/el/about/><noscript><style>#theme-toggle,.top-link{display:none}</style></noscript>
1<script>localStorage.getItem("pref-theme")==="light"&&(document.querySelector("html").dataset.theme="light")</script>
1<style>:root[data-theme=light]{--theme:#f4f0e8;--entry:#ebe7df;--primary:#6b4c2a;--content:#2d2d2d;--secondary:#4f463a;--border:#c8c0b0;--tertiary:#d8d0c0;--code-bg:#e8e4dc;--code-block-bg:#e2ded3}:root[data-theme=dark]{--theme:#0d0a06;--entry:#1a150d;--primary:#ffb000;--content:#ccb88a;--secondary:#9a8862;--tertiary:#2a2010;--border:#3a2e18;--code-block-bg:#140f08;--code-bg:#1f180e;color-scheme:dark}:root[data-theme=dark] body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient( 0,transparent,transparent 2px,rgba(0,0,0,6%) 2px,rgba(0,0,0,6%) 4px ),radial-gradient( ellipse at center,transparent 60%,rgba(0,0,0,.35) 100% )}:root[data-theme=dark] .profile_inner>span::after{content:"▌";animation:blink-cursor 1s step-end infinite;color:var(--primary);margin-left:2px;font-weight:300}@keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}.crt-boot{position:fixed;inset:0;z-index:10000;background:#0d0a06;pointer-events:none}.crt-boot .boot-static{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.92) 49.8%,rgba(255,255,255,.92) 50.2%,transparent 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 2px,transparent 2px 5px),repeating-linear-gradient(0,rgba(0,0,0,.16) 0 1px,rgba(255,255,255,8%) 1px 2px);filter:contrast(1.1)brightness(1.05);opacity:0;animation:boot-static 1.15s ease-out forwards}.crt-boot::before,.crt-boot::after{content:"";position:absolute;inset:0;pointer-events:none}.crt-boot::before{background:radial-gradient(circle at center,rgba(255,255,255,.18) 0 18%,transparent 62%);mix-blend-mode:screen;opacity:0;animation:boot-flare .22s ease-out forwards}.crt-boot::after{background:radial-gradient(ellipse at center,transparent 0 58%,rgba(0,0,0,.22) 100%)}@keyframes boot-static{0%{opacity:0;transform:scaleY(.08)}12%{opacity:.9;transform:scaleY(.18)}50%{opacity:.88;transform:scaleY(1)}78%{opacity:.48;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)}}@keyframes boot-flare{0%{opacity:.95;transform:scale(.3)}100%{opacity:0;transform:scale(2.1)}}.crt-boot.fade-out{opacity:0;transition:opacity .4s ease}#eeg-waveform{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;opacity:.06;z-index:0}.sat-pass{position:fixed;width:3px;height:3px;background:var(--primary);border-radius:50%;box-shadow:0 0 6px 2px rgba(255,176,0,.5);z-index:9990;pointer-events:none;opacity:0}@keyframes sat-fly{0%{opacity:0;transform:translate(-20px,-20px)}5%{opacity:.8}90%{opacity:.6}100%{opacity:0;transform:translate(calc(100vw + 20px),calc(50vh + 20px))}}.sat-pass.animate{animation:sat-fly 12s linear forwards}.avatar-container{position:relative;display:inline-block}.avatar-overlay{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.avatar-container:hover .avatar-overlay{opacity:1}.avatar-overlay circle{fill:none;stroke:var(--primary);stroke-width:1.5;opacity:0;transition:opacity .3s ease}.avatar-container:hover .avatar-overlay circle{opacity:.7;animation:electrode-pulse 2s ease-in-out infinite}.avatar-overlay text{fill:var(--primary);font-size:5px;font-family:monospace;opacity:0;transition:opacity .3s ease .15s}.avatar-container:hover .avatar-overlay text{opacity:.9}@keyframes electrode-pulse{0%,100%{r:3}50%{r:4}}#phosphor-canvas{position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.15;mix-blend-mode:screen}:root[data-theme=dark] #noise-grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:9996;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;animation:grain-shift .5s steps(4)infinite}@keyframes grain-shift{0%{transform:translate(0,0)}25%{transform:translate(-5%,-5%)}50%{transform:translate(5%,0)}75%{transform:translate(-2%,5%)}100%{transform:translate(0,0)}}.glitch-target{position:relative;display:inline-block}.glitch-target.glitching::before,.glitch-target.glitching::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-target.glitching::before{color:#ff0040;animation:glitch-1 .15s linear;clip-path:inset(20% 0 40% 0)}.glitch-target.glitching::after{color:#00d4ff;animation:glitch-2 .15s linear;clip-path:inset(60% 0 10% 0)}@keyframes glitch-1{0%{transform:translate(0)}20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,2px)}80%{transform:translate(2px,-2px)}100%{transform:translate(0)}}@keyframes glitch-2{0%{transform:translate(0)}20%{transform:translate(3px,-1px)}40%{transform:translate(-3px,2px)}60%{transform:translate(2px,-1px)}80%{transform:translate(-2px,1px)}100%{transform:translate(0)}}.avatar-overlay.pulse circle{opacity:.9!important;animation:electrode-burst 2s ease-out forwards!important}.avatar-overlay.pulse text{opacity:1!important}@keyframes electrode-burst{0%{r:3;opacity:.9}30%{r:5;opacity:1}100%{r:3;opacity:0}
1}body{padding-top:44px}.contact-form{display:flex;flex-direction:column;gap:16px;max-width:500px;margin:24px 0;font-family:var(--font-mono)}.contact-form label{display:flex;flex-direction:column;gap:6px;color:var(--primary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{background:var(--entry);border:1px solid var(--border);border-radius:2px;color:var(--content);padding:10px 12px;font-family:inherit;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.contact-form input[type=text]:focus,.contact-form input[type=email]:focus,.contact-form textarea:focus{border-color:var(--primary);background:rgba(255,176,0,2%);box-shadow:0 0 10px rgba(255,176,0,.15);outline:2px solid var(--primary);outline-offset:2px}.contact-form input[type=text]:focus:invalid,.contact-form input[type=email]:focus:invalid,.contact-form textarea:focus:invalid{border-color:#ff4040;outline-color:#ff4040;box-shadow:0 0 10px rgba(255,64,64,.15)}[data-theme=light] .contact-form input[type=text]:focus,[data-theme=light] .contact-form input[type=email]:focus,[data-theme=light] .contact-form textarea:focus{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,5%)}.contact-form button[type=submit]{background:0 0;color:var(--primary);border:1px solid var(--primary);border-radius:2px;padding:12px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:background .2s,color .2s,box-shadow .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.contact-form button[type=submit]::before{content:'❯';font-size:11px}.contact-form button[type=submit]:hover{background:var(--primary);color:var(--theme);box-shadow:0 0 12px rgba(255,176,0,.35)}.contact-form button[type=submit]:hover::before{animation:blink-cursor 1s step-end infinite}.contact-form button[type=submit]:active{transform:scale(.98)}.contact-form button[type=submit]:disabled{background:var(--secondary);color:var(--theme);cursor:not-allowed;opacity:.5}.contact-form .form-status{margin:4px 0 0;font-size:12px;font-weight:600}.contact-form .form-status.ok{color:#40ff40}[data-theme=light] .contact-form .form-status.ok{color:#0a0}.contact-form .form-status.err{color:#ff4040}[data-theme=light] .contact-form .form-status.err{color:#c00}.contact-form .hp{display:none!important}.post-single{font-family:var(--font-mono);font-size:15px;line-height:1.7}.post-single .post-content{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:1rem;line-height:1.78}.post-single .post-content code,.post-single .post-content kbd,.post-single .post-content pre,.post-single .post-content table,.post-single .post-content .highlight,.post-single .post-content .highlight *{font-family:var(--font-mono)}.post-single .entry-title{color:var(--primary)}.post-single h2,.post-single h3,.post-single h4{font-family:var(--font-mono);color:var(--primary);margin-top:32px;margin-bottom:12px;letter-spacing:.02em;border-bottom:1px dashed var(--border);padding-bottom:6px}[data-theme=dark] .post-single h2,[data-theme=dark] .post-single h3,[data-theme=dark] .post-single h4{text-shadow:0 0 8px rgba(255,176,0,.2)}.post-single h2::before,.post-single h3::before,.post-single h4::before{content:'>> ';color:var(--border)}.post-single ul{list-style:none;padding-left:12px}.post-single ul li{position:relative;padding-left:16px;margin-bottom:6px}.post-single ul li::before{content:'→';position:absolute;left:0;color:var(--primary)}.post-single blockquote{border-left:2px solid var(--primary);background:rgba(255,176,0,1%);margin:16px 0;padding:10px 16px;font-style:italic;color:var(--content)}[data-theme=dark] .post-single blockquote{box-shadow:inset 2px 0 0 var(--primary);border-left:none}.post-single table{width:100%;border-collapse:collapse;margin:16px 0}.post-single th,.post-single td{border:1px solid var(--border);padding:8px 12px;text-align:left}.post-single th{background:var(--entry);color:var(--primary);font-weight:700}.post-single img{border:1px solid var(--border);border-radius:4px;margin:16px 0}#terminal-bar{position:fixed;top:0;left:0;right:0;z-index:9999;font-family:var(--font-mono);transition:background .2s}.term-bar-collapsed{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 20px;background:rgba(13,10,6,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);cursor:pointer;font-size:.82rem;transition:background .2s;width:100%}.term-bar-collapsed:hover{background:rgba(26,21,13,.95)}.term-bar-collapsed:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:rgba(26,21,13,.95)}.term-bar-logo{color:var(--primary);text-decoration:none;font-weight:700;font-size:.88rem;letter-spacing:.02em;flex-shrink:0;margin-right:4px}.term-bar-logo:hover{opacity:.8}.term-bar-placeholder{color:var(--secondary);opacity:.92;flex:1}.term-bar-help{color:var(--secondary);opacity:.72;font-size:.74rem;white-space:nowrap}.term-bar-hint{font-size:.7rem;color:var(--primary);opacity:.5;padding:1px 6px;border:1px solid var(--border);border-radius:3px}@media(max-width:640px){.term-bar-collapsed{padding-inline:14px}.term-bar-help{display:none}.term-bar-hint{display:none}}.term-bar-expanded{display:none;background:rgba(13,10,6,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.5)}@keyframes term-slide-down{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#terminal-bar.expanded .term-bar-collapsed{display:none}#terminal-bar.expanded .term-bar-expanded{display:block;animation:term-slide-down .2s ease-out}.cmd-terminal-header{padding:10px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.78rem;background:rgba(255,255,255,2%)}.cmd-close-hint{font-size:.68rem;opacity:.4}.cmd-terminal-output{max-height:320px;overflow-y:auto;padding:10px 20px;font-size:.82rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;scrollbar-color:var(--border)transparent}.cmd-terminal-output::-webkit-scrollbar{width:4px}.cmd-terminal-output::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.cmd-terminal-line{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,176,0,5%)}.cmd-suggestions{display:none;border-top:1px solid var(--border);max-height:210px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border)transparent}.cmd-suggestions::-webkit-scrollbar{width:4px}.cmd-suggestions::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.cmd-sugg{display:flex;align-items:baseline;gap:10px;padding:8px 20px;cursor:pointer;font-size:.85rem;border-left:2px solid transparent;transition:background .1s,border-color .1s}.cmd-sugg:hover,.cmd-sugg.sel{background:rgba(255,176,0,8%);border-left-color:var(--primary)}.cmd-sugg-kind{flex-shrink:0;min-width:40px;text-align:center;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;
1color:var(--theme);background:var(--secondary);padding:1px 5px;border-radius:3px}.cmd-sugg:hover .cmd-sugg-kind,.cmd-sugg.sel .cmd-sugg-kind{background:var(--primary)}.cmd-sugg-label{color:var(--content);flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-sugg-sub{color:var(--secondary);font-size:.72rem;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-terminal-input-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--border);background:rgba(0,0,0,.2);transition:background .15s,border-top-color .15s}.cmd-terminal-input-row:focus-within{background:rgba(0,0,0,.3);border-top-color:var(--primary)}.cmd-terminal-input-row .cmd-palette-input{flex:1;background:0 0;border:none;outline:none;color:var(--content);font-family:inherit;font-size:.95rem;caret-color:var(--primary)}.cmd-btn{background:0 0;border:1px solid var(--border);color:var(--secondary);font-family:inherit;font-size:.75rem;padding:2px 8px;border-radius:3px;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.cmd-btn:hover,.cmd-btn:active{color:var(--primary);border-color:var(--primary)}.cmd-btn-close:hover{color:#ff4040;border-color:#ff4040}.t-prompt{color:var(--primary);font-weight:700}.t-hi{color:var(--primary)}.t-dim{color:var(--secondary)}.t-cmd{color:var(--primary);font-weight:600}.t-err{color:#ff4040}.t-input{color:var(--content)}[data-theme=light] .term-bar-collapsed{background:rgba(244,240,232,.92);border-bottom-color:var(--border)}[data-theme=light] .term-bar-collapsed:hover{background:rgba(234,228,218,.97)}[data-theme=light] .term-bar-collapsed:focus-visible{background:rgba(234,228,218,.97)}[data-theme=light] .term-bar-expanded{background:rgba(244,240,232,.97);box-shadow:0 8px 32px rgba(0,0,0,.12)}[data-theme=light] .cmd-terminal-input-row{background:rgba(0,0,0,5%)}[data-theme=light] .cmd-terminal-input-row:focus-within{background:rgba(0,0,0,8%)}[data-theme=light] .cmd-terminal-line{border-bottom-color:rgba(139,119,75,8%)}[data-theme=light] .cmd-sugg:hover,[data-theme=light] .cmd-sugg.sel{background:rgba(0,0,0,4%)}#terminal-bar.expanded+.header,#terminal-bar.expanded~.main{}:root[data-theme=high-contrast]{--theme:#000000;--entry:#000000;--primary:#ffffff;--content:#ffffff;--secondary:#ffff00;--border:#ffffff;--tertiary:#000000;--code-bg:#000000;--code-block-bg:#000000;color-scheme:dark}:root[data-theme=high-contrast] body::after{display:none!important}:root[data-theme=high-contrast] #terminal-bar{background:#000!important;border-bottom:2px solid #fff!important}:root[data-theme=high-contrast] .term-bar-collapsed{background:#000!important;border-bottom:2px solid #fff!important}:root[data-theme=high-contrast] .tui-grid{border-width:2px!important}:root[data-theme=high-contrast] .tui-panel{border-right-width:2px!important;border-bottom-width:2px!important}:root[data-theme=high-contrast] .tui-panel-title{background:var(--secondary)!important;color:#000!important}:root[data-theme=high-contrast] .tui-social a::before,:root[data-theme=high-contrast] .tui-social a::after{color:var(--primary)!important}</style><meta name=theme-color content="#0d0a06" media="(prefers-color-scheme: dark)"><meta name=theme-color content="#f4f0e8" media="(prefers-color-scheme: light)"><meta name=msapplication-TileColor content="#0d0a06"><link rel=manifest href=/site.webmanifest><link rel=icon type=image/svg+xml href=https://elkos.gr/favicon.svg>
1<script src="/js/command-palette.js?v=33" defer></script>
1<meta property="og:url" content="https://elkos.gr/about/"><meta property="og:site_name" content="Eleftherios Kosmas"><meta property="og:title" content="About"><meta property="og:description" content="About Eleftherios Kosmas — sleep technologist, open-source space contributor, and maintainer of clinical EEG/sleep reference tools."><meta property="og:locale" content="en_US"><meta property="og:type" content="article"><meta property="article:section" content="pages"><meta property="article:published_time" content="2019-08-21T00:00:00+00:00"><meta property="article:modified_time" content="2026-05-31T00:00:00+00:00"><meta property="og:image" content="https://elkos.gr/about/images/cover_hu_e3ccaf97df61c5ae.jpg"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://elkos.gr/about/images/cover_hu_e3ccaf97df61c5ae.jpg"><meta name=twitter:title content="About"><meta name=twitter:description content="About Eleftherios Kosmas — sleep technologist, open-source space contributor, and maintainer of clinical EEG/sleep reference tools.">
1<script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Pages","item":"https://elkos.gr/pages/"},{"@type":"ListItem","position":2,"name":"About","item":"https://elkos.gr/about/"}]}</script>
1<script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"About","name":"About","description":"About Eleftherios Kosmas — sleep technologist, open-source space contributor, and maintainer of clinical EEG/sleep reference tools.","keywords":[],"articleBody":"What’s here This is a personal website for work that sits between sleep medicine, open-source infrastructure, and public-interest technology.\nThe most useful entry points are:\n10-20 EEG Visualizer — an interactive 2D/3D reference for EEG electrode placement and sleep montage landmarks. Sleep Architecture — a compact guide to sleep stages, EEG rhythms, and hypnogram structure. Archive — older writing on free software, open hardware, digital rights, and web culture. Contact — feedback, collaboration, or corrections. And who are you? Professionally, I have worked as a sleep technologist at the University of Athens sleep study laboratory, based at Evangelismos Hospital in Athens, since 2004.\nI have also written for the Greek edition of Linux Format and Linux Inside, participated in the Mozilla community, and been a member of hackerspace.gr. Since 2015 I have been vice-chair of the Libre Space Foundation, a non-profit organization that develops free and open-source technologies for space.\nCurrent focus Practical clinical reference tools for sleep technologists and EEG learners. Open-source space infrastructure through Libre Space Foundation and SatNOGS. Keeping older Greek open-tech writing available instead of letting it disappear into broken WordPress links. Where can I find you? Use the contact page or email me at [email protected].\n","wordCount":"200","inLanguage":"en","image":"https://elkos.gr/about/images/cover_hu_e3ccaf97df61c5ae.jpg","datePublished":"2019-08-21T00:00:00Z","dateModified":"2026-05-31T00:00:00Z","author":{"@type":"Person","name":"Eleftherios Kosmas"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://elkos.gr/about/"},"publisher":{"@type":"Organization","name":"Eleftherios Kosmas","logo":{"@type":"ImageObject","url":"https://elkos.gr/favicon.ico"}}}</script>
1</head><body id=top><header class=header><nav class=nav><div class=logo><a href=https://elkos.gr/ accesskey=h title="elkos.gr (Alt + H)">elkos.gr</a><div class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)" aria-label="Toggle theme">
2<svg id="moon" width="24" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg>
3<svg id="sun" width="24" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button><ul class=lang-switch><li>|</li><li><a href=https://elkos.gr/el/ title=Ελληνικά aria-label=Ελληνικά>Ελληνικά</a></li></ul></div></div><ul id=menu></ul></nav></header><main class=main><div class=reading-progress-container><div class=reading-progress-bar id=reading-progress></div></div><article class=post-single lang=en><header class=post-header><div class=breadcrumbs><a href=https://elkos.gr/>Home</a>&nbsp;»&nbsp;<a href=https://elkos.gr/pages/>Pages</a></div><h1 class="post-title entry-hint-parent">About</h1><div class=post-description>About Eleftherios Kosmas — sleep technologist, open-source space contributor, and maintainer of clinical EEG/sleep reference tools.</div><div class=post-meta><span title='2019-08-21 00:00:00 +0000 UTC'>August 21, 2019</span>&nbsp;·&nbsp;<span>1 min</span>&nbsp;·&nbsp;<span>Eleftherios Kosmas</span>&nbsp;|&nbsp;<span>Translations:</span><ul class=i18n_list><li><a href=https://elkos.gr/el/about/>Ελληνικά</a></li></ul></div></header><figure class=entry-cover><picture><source type=image/webp srcset='https://elkos.gr/about/images/cover_hu_45a6a1b2f6d7ce08.webp 360w, https://elkos.gr/about/images/cover_hu_34dabb528cc20c7.webp 480w, https://elkos.gr/about/images/cover_hu_21f996a66cdcca2a.webp 720w, https://elkos.gr/about/images/cover_hu_8c06d7539e8118d0.webp 1080w' sizes="(min-width: 768px) 720px, 100vw"><img loading=eager decoding=async src=https://elkos.gr/about/images/cover_hu_ece85daf1430f096.jpg width=1280 height=960 alt="Backlit laptop keyboard"></picture><figcaption>Gre123gr, Wikimedia Commons (CC0)</figcaption></figure><div class=post-content><h4 id=whats-here>What&rsquo;s here<a hidden class=anchor aria-hidden=true href=#whats-here>#</a></h4><p>This is a personal website for work that sits between sleep medicine, open-source infrastructure, and public-interest technology.</p><p>The most useful entry points are:</p><ul><li><a href=/1020/>10-20 EEG Visualizer</a> — an interactive 2D/3D reference for EEG electrode placement and sleep montage landmarks.</li><li><a href=/sleep/>Sleep Architecture</a> — a compact guide to sleep stages, EEG rhythms, and hypnogram structure.</li><li><a href=/archive/>Archive</a> — older writing on free software, open hardware, digital rights, and web culture.</li><li><a href=/contact/>Contact</a> — feedback, collaboration, or corrections.</li></ul><h4 id=and-who-are-you>And who are you?<a hidden class=anchor aria-hidden=true href=#and-who-are-you>#</a></h4><p>Professionally, I have worked as a sleep technologist at the University of Athens sleep study laboratory, based at Evangelismos Hospital in Athens, since 2004.</p><p>I have also written for the Greek edition of Linux Format and Linux Inside, participated in the Mozilla community, and been a member of hackerspace.gr. Since 2015 I have been vice-chair of the <a href=https://libre.space/>Libre Space Foundation</a>, a non-profit organization that develops free and open-source technologies for space.</p><h4 id=current-focus>Current focus<a hidden class=anchor aria-hidden=true href=#current-focus>#</a></h4><ul><li>Practical clinical reference tools for sleep technologists and EEG learners.</li><li>
3Open-source space infrastructure through Libre Space Foundation and SatNOGS.</li><li>Keeping older Greek open-tech writing available instead of letting it disappear into broken WordPress links.</li></ul><h4 id=where-can-i-find-you>Where can I find you?<a hidden class=anchor aria-hidden=true href=#where-can-i-find-you>#</a></h4><p>Use the <a href=/contact/>contact page</a> or email me at <strong><a href="/cdn-cgi/l/email-protection#6508040c092500090e0a164b0217"><span class="__cf_email__" data-cfemail="563b373f3a16333a3d3925783124">[email&#160;protected]</span></a></strong>.</p></div><footer class=post-footer><ul class=post-tags></ul><ul class=share-buttons><li><a target=_blank rel="noopener noreferrer" aria-label="share About on x" href="https://x.com/intent/tweet/?text=About&amp;url=https%3a%2f%2felkos.gr%2fabout%2f&amp;hashtags="><svg viewBox="0 0 512 512" height="30" width="30" fill="currentColor"><path d="M512 62.554V449.446C512 483.97 483.97 512 449.446 512H62.554C28.03 512 0 483.97.0 449.446V62.554C0 28.03 28.029.0 62.554.0H449.446C483.971.0 512 28.03 512 62.554zM269.951 190.75 182.567 75.216H56L207.216 272.95 63.9 436.783h61.366L235.9 310.383l96.667 126.4H456L298.367 228.367l134-153.151H371.033zM127.633 110h36.468l219.38 290.065H349.5z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on linkedin" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3a%2f%2felkos.gr%2fabout%2f&amp;title=About&amp;summary=About&amp;source=https%3a%2f%2felkos.gr%2fabout%2f"><svg viewBox="0 0 512 512" height="30" width="30" fill="currentColor"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM160.461 423.278V197.561h-75.04v225.717h75.04zm270.539.0V293.839c0-69.333-37.018-101.586-86.381-101.586-39.804.0-57.634 21.891-67.617 37.266v-31.958h-75.021c.995 21.181.0 225.717.0 225.717h75.02V297.222c0-6.748.486-13.492 2.474-18.315 5.414-13.475 17.767-27.434 38.494-27.434 27.135.0 38.007 20.707 38.007 51.037v120.768H431zM123.448 88.722C97.774 88.722 81 105.601 81 127.724c0 21.658 16.264 39.002 41.455 39.002h.484c26.165.0 42.452-17.344 42.452-39.002-.485-22.092-16.241-38.954-41.943-39.002z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on reddit" href="https://reddit.com/submit?url=https%3a%2f%2felkos.gr%2fabout%2f&title=About"><svg viewBox="0 0 512 512" height="30" width="30" fill="currentColor"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM446 265.638c0-22.964-18.616-41.58-41.58-41.58-11.211.0-21.361 4.457-28.841 11.666-28.424-20.508-67.586-33.757-111.204-35.278l18.941-89.121 61.884 13.157c.756 15.734 13.642 28.29 29.56 28.29 16.407.0 29.706-13.299 29.706-29.701.0-16.403-13.299-29.702-29.706-29.702-11.666.0-21.657 6.792-26.515 16.578l-69.105-14.69c-1.922-.418-3.939-.042-5.585 1.036-1.658 1.073-2.811 2.761-3.224 4.686l-21.152 99.438c-44.258 1.228-84.046 14.494-112.837 35.232-7.468-7.164-17.589-11.591-28.757-11.591-22.965.0-41.585 18.616-41.585 41.58.0 16.896 10.095 31.41 24.568 37.918-.639 4.135-.99 8.328-.99 12.576.0 63.977 74.469 115.836 166.33 115.836s166.334-51.859 166.334-115.836c0-4.218-.347-8.387-.977-12.493 14.564-6.47 24.735-21.034 24.735-38.001zM326.526 373.831c-20.27 20.241-59.115 21.816-70.534 21.816-11.428.0-50.277-1.575-70.522-21.82-3.007-3.008-3.007-7.882.0-10.889 3.003-2.999 7.882-3.003 10.885.0 12.777 12.781 40.11 17.317 59.637 17.317 19.522.0 46.86-4.536 59.657-17.321 3.016-2.999 7.886-2.995 10.885.008 3.008 3.011 3.003 7.882-.008 10.889zm-5.23-48.781c-16.373.0-29.701-13.324-29.701-29.698.0-16.381 13.328-29.714 29.701-29.714 16.378.0 29.706 13.333 29.706 29.714.0 16.374-13.328 29.698-29.706 29.698zM160.91 295.348c0-16.381 13.328-29.71 29.714-29.71 16.369.0 29.689 13.329 29.689 29.71.0 16.373-13.32 29.693-29.689 29.693-16.386.0-29.714-13.32-29.714-29.693z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on facebook" href="https://facebook.com/sharer/sharer.php?u=https%3a%2f%2felkos.gr%2fabout%2f"><svg viewBox="0 0 512 512" height="30" width="30" fill="currentColor"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H342.978V319.085h66.6l12.672-82.621h-79.272v-53.617c0-22.603 11.073-44.636 46.58-44.636H425.6v-70.34s-32.71-5.582-63.982-5.582c-65.288.0-107.96 39.569-107.96 111.204v62.971h-72.573v82.621h72.573V512h-191.104c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on whatsapp" href="https://api.whatsapp.com/se
3nd?text=About%20-%20https%3a%2f%2felkos.gr%2fabout%2f"><svg viewBox="0 0 512 512" height="30" width="30" fill="currentColor"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zm-58.673 127.703c-33.842-33.881-78.847-52.548-126.798-52.568-98.799.0-179.21 80.405-179.249 179.234-.013 31.593 8.241 62.428 23.927 89.612l-25.429 92.884 95.021-24.925c26.181 14.28 55.659 21.807 85.658 21.816h.074c98.789.0 179.206-80.413 179.247-179.243.018-47.895-18.61-92.93-52.451-126.81zM263.976 403.485h-.06c-26.734-.01-52.954-7.193-75.828-20.767l-5.441-3.229-56.386 14.792 15.05-54.977-3.542-5.637c-14.913-23.72-22.791-51.136-22.779-79.287.033-82.142 66.867-148.971 149.046-148.971 39.793.014 77.199 15.531 105.329 43.692 28.128 28.16 43.609 65.592 43.594 105.4-.034 82.149-66.866 148.983-148.983 148.984zm81.721-111.581c-4.479-2.242-26.499-13.075-30.604-14.571-4.105-1.495-7.091-2.241-10.077 2.241-2.986 4.483-11.569 14.572-14.182 17.562-2.612 2.988-5.225 3.364-9.703 1.12-4.479-2.241-18.91-6.97-36.017-22.23C231.8 264.15 222.81 249.484 220.198 245s-.279-6.908 1.963-9.14c2.016-2.007 4.48-5.232 6.719-7.847 2.24-2.615 2.986-4.484 4.479-7.472 1.493-2.99.747-5.604-.374-7.846-1.119-2.241-10.077-24.288-13.809-33.256-3.635-8.733-7.327-7.55-10.077-7.688-2.609-.13-5.598-.158-8.583-.158-2.986.0-7.839 1.121-11.944 5.604-4.105 4.484-15.675 15.32-15.675 37.364.0 22.046 16.048 43.342 18.287 46.332 2.24 2.99 31.582 48.227 76.511 67.627 10.685 4.615 19.028 7.371 25.533 9.434 10.728 3.41 20.492 2.929 28.209 1.775 8.605-1.285 26.499-10.833 30.231-21.295 3.732-10.464 3.732-19.431 2.612-21.298-1.119-1.869-4.105-2.99-8.583-5.232z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on telegram" href="https://telegram.me/share/url?text=About&amp;url=https%3a%2f%2felkos.gr%2fabout%2f"><svg viewBox="2 2 28 28" height="30" width="30" fill="currentColor"><path d="M26.49 29.86H5.5a3.37 3.37.0 01-2.47-1 3.35 3.35.0 01-1-2.47V5.48A3.36 3.36.0 013 3 3.37 3.37.0 015.5 2h21A3.38 3.38.0 0129 3a3.36 3.36.0 011 2.46V26.37a3.35 3.35.0 01-1 2.47 3.38 3.38.0 01-2.51 1.02zm-5.38-6.71a.79.79.0 00.85-.66L24.73 9.24a.55.55.0 00-.18-.46.62.62.0 00-.41-.17q-.08.0-16.53 6.11a.59.59.0 00-.41.59.57.57.0 00.43.52l4 1.24 1.61 4.83a.62.62.0 00.63.43.56.56.0 00.4-.17L16.54 20l4.09 3A.9.9.0 0021.11 23.15zM13.8 20.71l-1.21-4q8.72-5.55 8.78-5.55c.15.0.23.0.23.16a.18.18.0 010 .06s-2.51 2.3-7.52 6.8z"/></svg></a></li><li><a target=_blank rel="noopener noreferrer" aria-label="share About on ycombinator" href="https://news.ycombinator.com/submitlink?t=About&u=https%3a%2f%2felkos.gr%2fabout%2f"><svg width="30" height="30" viewBox="0 0 512 512" fill="currentColor"><path d="M449.446.0C483.971.0 512 28.03 512 62.554V449.446C512 483.97 483.97 512 449.446 512H62.554C28.03 512 0 483.97.0 449.446V62.554C0 28.03 28.029.0 62.554.0H449.446zM183.8767 87.9921h-62.034L230.6673 292.4508V424.0079h50.6655V292.4508L390.1575 87.9921H328.1233L256 238.2489z"/></svg></a></li></ul></footer></article><style>.archive-note{border-left:3px solid var(--primary);background:var(--entry);color:var(--secondary);padding:12px 16px;margin:0 0 24px;font-size:.9rem;border-radius:0 4px 4px 0;position:relative}.archive-note::before{content:'\1F4C1 ';margin-right:4px}.archive-related{margin:36px 0 24px;padding-top:18px;border-top:1px solid var(--border);font-family:var(--font-mono)}.archive-related h2{color:var(--primary);font-size:1rem;letter-spacing:.04em;margin:0 0 14px;border-bottom:none;padding-bottom:0}.post-single .archive-related h2::before{content:none}.post-single .archive-related h2 .anchor{display:none}.post-single .archive-related ul,.post-single .archive-related ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.post-single .archive-related li{margin:0;padding-left:0}.post-single .archive-related li::before{content:none}.post-single .archive-related li>a{display:block;border-left:3px solid var(--border);background:var(--entry);padding:8px 12px;text-decoration:none}.post-single .archive-related li>a:hover{border-left-color:var(--primary);background:var(--tertiary)}.post-single .archive-related .related-year{color:var(--secondary);font-size:.85rem;margin-left:.4rem}.story-trail{margin:40px 0 24px;padding:18px;border:1px solid var(--border);border-radius:4px 18px 4px 18px;background:linear-gradient(135deg,rgba(255,176,0,5%),transparent 65%)}.story-trail-kicker{color:var(--primary);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.story-trail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.story-trail h2{margin:0 0 6px;padding:0;border:0;color:var(--content);font-size:1.12rem}.story-trail h2::before{content:none}.story-trail h2 .anchor{display:none}.story-trail-header p{margin:0;color:var(--secondary);font-size:.88rem;line-height:1.55}.story-trail-explore{flex:none;color:var(--primary);font-family:var(--font-mono);font-size:.78rem;text-decoration:none}.story-trail-progress{height:3px;margin:16px 0;overflow:hidden;background:var(--border);border-radius:99px}
3.story-trail-progress span{display:block;height:100%;background:var(--primary)}.story-trail-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.story-trail-step{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-left:3px solid var(--border);background:var(--entry);text-decoration:none}.story-trail-step:hover{border-left-color:var(--primary)}.story-trail-step.next{text-align:right;border-left:0;border-right:3px solid var(--border)}.story-trail-step.next:hover{border-right-color:var(--primary)}.story-trail-step span{color:var(--secondary);font-family:var(--font-mono);font-size:.7rem}.story-trail-step strong{color:var(--content);font-size:.82rem;line-height:1.35}.story-trail-step.empty{visibility:hidden}.story-trail-contents{margin-top:12px;font-size:.82rem}.story-trail-contents summary{color:var(--secondary);cursor:pointer;font-family:var(--font-mono)}.story-trail-contents ol{margin:10px 0 0;padding-left:28px}.story-trail-contents li{margin:5px 0;padding-left:3px}.story-trail-contents li.current{color:var(--primary);font-weight:700}.story-trail-contents li span{color:var(--secondary);font-size:.72rem;margin-left:5px}.archive-backlinks{margin:32px 0 24px;padding-top:18px;border-top:1px dashed var(--border)}.archive-backlinks h2{margin:0 0 12px;padding:0;border:0;color:var(--primary);font-family:var(--font-mono);font-size:.9rem}.archive-backlinks h2::before{content:none}.archive-backlinks h2 .anchor{display:none}.archive-backlinks h2 span{color:var(--secondary);font-size:.72rem}.archive-backlinks ul{list-style:none;margin:0;padding:0}.archive-backlinks li{display:flex;justify-content:space-between;gap:12px;margin:5px 0;padding-left:0}.archive-backlinks li::before{content:none}.archive-backlinks a{color:var(--content);font-size:.84rem;text-decoration:none}.archive-backlinks a:hover{color:var(--primary)}.archive-backlinks time{color:var(--secondary);font-family:var(--font-mono);font-size:.72rem}@media(max-width:640px){.story-trail-header{flex-direction:column;gap:10px}.story-trail-nav{grid-template-columns:1fr}.story-trail-step.next{text-align:left;border-right:0;border-left:3px solid var(--border)}.story-trail-step.next:hover{border-left-color:var(--primary)}.story-trail-step.empty{display:none}}.update-note{border-left:3px solid #4caf50;background:var(--entry);color:var(--content);padding:12px 16px;margin:0 0 24px;font-size:.9rem;display:flex;flex-direction:column;gap:6px}.update-note-badge{display:inline-block;background:#4caf50;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:3px;align-self:flex-start;font-family:var(--font-mono)}.update-note-text{line-height:1.5}.archive-context{border:1px dashed var(--primary);background:var(--entry);color:var(--content);padding:14px 16px;margin:28px 0 24px;border-radius:6px;display:flex;flex-direction:column;gap:8px}.archive-context-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.archive-context-badge::before{content:'\1F551'}.archive-context-text{line-height:1.6;font-size:.95rem}.archive-context-text>:first-child{margin-top:0}.archive-context-text>:last-child{margin-bottom:0}.reading-progress-container{position:fixed;top:0;left:0;width:100%;height:2px;background:0 0;z-index:9998}.reading-progress-bar{height:100%;width:0%;background:var(--primary);transition:width .15s ease-out}[data-theme=dark] .reading-progress-bar{box-shadow:0 0 8px rgba(255,176,0,.4)}[data-theme=light] .reading-progress-bar{box-shadow:0 1px 4px rgba(0,0,0,.1)}.post-single .entry-cover{margin:0 0 28px}.post-single .entry-cover img{width:100%;max-height:260px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.post-single .entry-cover figcaption{font-family:var(--font-mono);font-size:11px;color:var(--secondary);text-align:center;margin-top:8px}[data-theme=dark] .post-single .entry-cover img{filter:saturate(.8)contrast(1.05)}.post-footer{margin-top:32px;padding-top:24px;border-top:1px dashed var(--border)}[data-theme=dark] .post-single blockquote{background:linear-gradient(135deg,rgba(255,176,0,3%) 0%,rgba(255,176,0,1%) 100%)}[data-theme=light] .post-single blockquote{background:linear-gradient(135deg,rgba(139,115,85,4%) 0%,rgba(139,115,85,1%) 100%)}.paginav a{transition:background .2s ease,transform .2s ease}.paginav a:hover{transform:scale(1.02)}@media(min-width:1280px){.toc{position:fixed!important;top:80px;
3left:calc(50% + (var(--main-width,720px)/2) + 40px);width:260px;max-height:calc(100vh - 120px);overflow-y:auto;background:0 0!important;border:none!important;border-left:2px solid var(--border)!important;box-shadow:none!important;padding:0 0 0 16px!important;margin:0!important;font-size:.85rem}}</style>
vendor: 108 bytes, line 3
3<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
3<script>(function(){function e(){const e=document.getElementById("reading-progress");if(!e)return;window.addEventListener("scroll",function(){const t=document.documentElement.scrollHeight-window.innerHeight,n=window.scrollY;if(t>0){const s=n/t*100;e.style.width=s+"%"}},{passive:!0})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e()})()</script>
3</main><footer class=footer><span>&copy; 2026 <a href=https://elkos.gr/>Eleftherios Kosmas</a></span> ·
4<span>Powered by
5<a href=https://gohugo.io/ rel="noopener noreferrer" target=_blank>Hugo</a> &
6<a href=https://github.com/adityatelange/hugo-PaperMod/ rel=noopener target=_blank>PaperMod</a></span></footer><a href=#top aria-label="go to top" title="Go to Top (Alt + G)" class=top-link id=top-link accesskey=g><svg viewBox="0 0 12 6" fill="currentColor"><path d="M12 6H0l6-6z"/></svg>
7</a>
7<script>let menu=document.getElementById("menu");if(menu){const e=localStorage.getItem("menu-scroll-position");e&&(menu.scrollLeft=parseInt(e,10)),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}}document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script>
7<script>var mybutton=document.getElementById("top-link");window.onscroll=function(){document.body.scrollTop>800||document.documentElement.scrollTop>800?(mybutton.style.visibility="visible",mybutton.style.opacity="1"):(mybutton.style.visibility="hidden",mybutton.style.opacity="0")}</script>
7<script>document.getElementById("theme-toggle").addEventListener("click",()=>{const e=document.querySelector("html");e.dataset.theme==="dark"?(e.dataset.theme="light",localStorage.setItem("pref-theme","light")):(e.dataset.theme="dark",localStorage.setItem("pref-theme","dark"))})</script>
7<script>document.querySelectorAll("pre > code").forEach(e=>{const n=e.parentNode.parentNode,t=document.createElement("button");t.classList.add("copy-code"),t.innerHTML="copy";function s(){t.innerHTML="copied!",setTimeout(()=>{t.innerHTML="copy"},2e3)}t.addEventListener("click",t=>{if("clipboard"in navigator){navigator.clipboard.writeText(e.textContent),s();return}const n=document.createRange();n.selectNodeContents(e);const o=window.getSelection();o.removeAllRanges(),o.addRange(n);try{document.execCommand("copy"),s()}catch{}o.removeRange(n)}),n.classList.contains("highlight")?n.appendChild(t):n.parentNode.firstChild==n||(e.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="TABLE"?e.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(t):e.parentNode.appendChild(t))})</script>
7<!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 7
7<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
76c5912b8665a4368925618abd88276f5
vendor: 13 bytes, line 7
7"}'></script>
7<!-- Cloudflare Pages Analytics -->
7<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f916a47484c44188a3d5f65a44ea698b","r":1,"spa":2}' crossorigin="anonymous"></script>
7
8</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.