CINXE.COM
Search | RIPE Labs
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"> <title>Search | RIPE Labs</title> <meta name="description" content="RIPE Labs is a place to showcase and test new tools, where experts share analyses and discuss topics relevant to the state of the Internet, and where those new to the community can get the resources they need to find their way into the conversation."> <link rel="apple-touch-icon" sizes="180x180" href="/static/icons/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/static/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/static/icons/favicon-16x16.png"> <link rel="manifest" href="/static/icons/site.webmanifest"> <link rel="shortcut icon" href="/favicon.ico"> <link rel="alternate" type="application/rss+xml" title="RIPE Labs - RSS 2.0" href="/feed.xml"> <link rel="alternate" type="application/atom+xml" title="RIPE Labs - Atom" href="/atom.xml"> <meta name="msapplication-TileColor" content="#2a4587"> <meta name="msapplication-config" content="/static/icons/browserconfig.xml"> <meta name="theme-color" content="#2a4587"> <meta property="og:site_name" content="RIPE Labs"> <meta name="twitter:site" content="@ripelabs"> <link rel="preload" href="/static/fonts/open-sans-latin-variable-wghtOnly-normal.woff2" as="font" type="font/woff2" crossorigin="anonymous"> <link rel="stylesheet" href="/static/CACHE/css/style.954fceedcc9a.css" type="text/css"> <script type="text/javascript"> var _paq = window._paq || []; _paq.push(['requireCookieConsent']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://www-analytics.ripe.net/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '10']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> </head> <body class="flex flex-col min-h-full mt-burger bg-white"> <script src="/static/CACHE/js/ripe-app-webcomponents.25dc0bb1d2b2.js"></script> <ripe-header skipnav class="h-0"> <svg slot="logo-app" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1821 392"><path fill="#25316a" d="M457 80h93c49 0 77 28 77 67 0 26-13 52-41 63l49 83h-58l-42-75h-24v75h-54V80zm86 99c20 0 32-12 32-29 0-18-12-28-32-28h-32v57h32zm116-99h54v213h-54V80zm90 0h97c47 0 75 29 75 69 0 35-22 71-74 71h-44v73h-54V80zm88 99c20 0 32-12 32-29 0-18-13-28-32-28h-34v57h34zm110-99h158v44h-104v40h87v43h-87v43h104v43H947V80zm270 213V80h25v191h94v22h-119zm250 0-5-22h-1c-8 10-16 16-24 20s-18 5-30 5c-16 0-28-4-37-12s-14-20-14-35c0-32 26-49 78-51l27-1v-9c0-13-3-22-8-28-6-6-14-9-26-9-13 0-28 4-45 12l-8-19a115 115 0 0 1 54-13c19 0 34 4 43 12 9 9 14 22 14 41v109h-18zm-55-17c15 0 27-4 35-12 9-8 13-20 13-35v-14l-24 1c-19 0-33 3-42 9-8 5-12 13-12 24 0 9 2 16 8 20 5 5 12 7 22 7zm197-145c21 0 37 7 49 21 12 15 18 35 18 61s-6 47-18 61a59 59 0 0 1-49 22c-10 0-20-2-28-5-9-4-16-10-22-18h-2l-5 20h-17V66h24v55l-1 34h1c11-16 28-24 50-24zm-3 20c-17 0-29 5-36 14-8 10-11 26-11 48 0 23 4 39 11 48 8 10 20 15 36 15 15 0 26-5 33-16 8-11 11-27 11-47 0-21-3-36-11-47-7-10-18-15-33-15zm215 99c0 15-5 26-17 34-11 8-26 12-46 12-21 0-38-3-50-10v-22a120 120 0 0 0 50 12c13 0 23-2 30-6 6-4 10-10 10-18 0-6-3-12-8-16-6-5-16-10-32-16-15-5-25-10-32-14-6-5-11-9-14-15-3-5-4-11-4-18 0-13 5-24 16-31 10-8 25-12 43-12 17 0 34 4 51 11l-9 20c-16-7-30-10-44-10-11 0-20 2-26 5-5 4-8 9-8 15 0 4 1 8 3 11s6 6 11 9l28 11c19 7 31 14 38 21s10 16 10 27z"/><linearGradient id="a" x1="17.4" x2="275.6" y1="361.6" y2="81.4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#25316a"/><stop offset=".1" stop-color="#293269"/><stop offset=".1" stop-color="#343468"/><stop offset=".2" stop-color="#453764"/><stop offset=".2" stop-color="#5b3c60"/><stop offset=".3" stop-color="#764459"/><stop offset=".4" stop-color="#964d4f"/><stop offset=".4" stop-color="#bf5a3d"/><stop offset=".5" stop-color="#f36c21"/><stop offset="1" stop-color="#9c9c9c"/></linearGradient><path fill="url(#a)" d="m249 319-146-84V66l91-52-24-14L0 98v196l170 98 170-98v-28l-91 53zm-79 45L24 280V112l55-32v169l146 84-55 31z"/><linearGradient id="b" x1="37.4" x2="295.7" y1="380" y2="99.8" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#25316a"/><stop offset=".1" stop-color="#293269"/><stop offset=".1" stop-color="#343468"/><stop offset=".2" stop-color="#453764"/><stop offset=".2" stop-color="#5b3c60"/><stop offset=".3" stop-color="#764459"/><stop offset=".4" stop-color="#964d4f"/><stop offset=".4" stop-color="#bf5a3d"/><stop offset=".5" stop-color="#f36c21"/><stop offset="1" stop-color="#9c9c9c"/></linearGradient><path fill="url(#b)" d="M249 9 126 80v141l123 71 122-71V80L249 9zm98 198-98 57-98-57V94l98-57 98 57v113z"/></svg> <app-switcher appenv="prod" current="labs"></app-switcher> <user-login accessurl="access.ripe.net" logoutredirecturl="https://labs.ripe.net/"></user-login> </ripe-header> <app-nav-bar class="fixed top-0 z-50 mt-burger"></app-nav-bar> <app-cookie-consent></app-cookie-consent> <script type="text/javascript"> var RIPE_MENU = { main: [ { title: "Home", url: "/", icon: '<svg width="26" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 26"><path fill="currentColor" d="m16 20.6-9.1-5.2V5l5.6-3.2L11 .9.5 6.9v12.2L11 25l10.5-6v-1.7L16 20.6Zm-5 2.9-9-5.3V7.8l3.4-2v10.4l9 5.3-3.4 2Z"/><path fill="currentColor" d="M16 1.4 8.2 5.8v8.8l7.6 4.3 7.6-4.3V5.8l-7.6-4.4Zm6 12.3-6 3.5-6.2-3.5v-7L15.9 3 22 6.6v7.1Z"/></svg>', }, { title: "Categories", icon: '<svg width="26" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 26"><path fill="currentColor" d="m16 20.6-9.1-5.2V5l5.6-3.2L11 .9.5 6.9v12.2L11 25l10.5-6v-1.7L16 20.6Zm-5 2.9-9-5.3V7.8l3.4-2v10.4l9 5.3-3.4 2Z"/><path fill="currentColor" d="M16 1.4 8.2 5.8v8.8l7.6 4.3 7.6-4.3V5.8l-7.6-4.4Zm6 12.3-6 3.5-6.2-3.5v-7L15.9 3 22 6.6v7.1Z"/></svg>', id: "categories", }, { title: "Network Operations", icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 22" fill="currentColor"><path d="M17.6 10.9a1.1 1.1 0 1 1 2.3 0 1.1 1.1 0 0 1-2.3 0ZM15.7 12a1.1 1.1 0 1 0 0-2.3 1.1 1.1 0 0 0 0 2.3ZM24 6a2 2 0 0 1-.6 1.5c.4.4.6 1 .6 1.5v3.8c0 .5-.2 1-.6 1.4.4.4.6 1 .6 1.6v3.7c0 1.2-1 2.3-2.3 2.3H2.4c-1.3 0-2.3-1-2.3-2.3v-3.8c0-.5.2-1 .6-1.4-.4-.4-.6-1-.6-1.6V9c0-.6.2-1.1.6-1.5A2 2 0 0 1 0 6V2.2C0 1 1 0 2.3 0h19.4C23 0 24 1 24 2.3V6ZM1.5 6c0 .4.3.8.8.8h19.4c.5 0 .8-.4.8-.8V2.2c0-.4-.3-.7-.8-.7H2.4c-.5 0-.8.3-.8.8V6Zm20.3 2.3H2.1c-.4 0-.7.3-.7.7v3.8c0 .4.3.7.8.7h19.4c.5 0 .8-.3.8-.8V9c0-.4-.3-.8-.8-.8Zm.7 7.4c0-.4-.3-.7-.8-.7H2.4c-.5 0-.8.3-.8.8v3.7c0 .4.3.8.8.8h19.4c.5 0 .8-.4.8-.8v-3.8ZM18.7 5.3a1.1 1.1 0 1 0 0-2.3 1.1 1.1 0 0 0 0 2.3Zm-3 0a1.1 1.1 0 1 0 0-2.3 1.1 1.1 0 0 0 0 2.3Zm3 11.2a1.1 1.1 0 1 0 0 2.3 1.1 1.1 0 0 0 0-2.3Zm-3 0a1.1 1.1 0 1 0 0 2.3 1.1 1.1 0 0 0 0-2.3Z"/></svg>', url: "/category/network-operations/", parent: "categories", }, { title: "Measurements and Statistics", icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 18" fill="currentColor"><path d="M23.6 16.5H1.5V.4c0-.2-.2-.4-.4-.4H.4C.2 0 0 .2 0 .4v16.9c0 .4.3.7.8.7h22.8c.2 0 .4-.2.4-.4V17c0-.2-.2-.4-.4-.4Zm-19-7.2v.6l.5.5h.6L9 7l4 4c.2.3.7.3 1 0l4.4-4.4 2 2c.3.3.6.4.9.4.5 0 1.1-.5 1.1-1.1V2.3c0-.5-.3-.8-.8-.8H16c-1 0-1.5 1.2-.8 2l2.1 2-3.8 3.9-4-4a.7.7 0 0 0-1 0l-4 4ZM17 3h4v4l-4-4Z"/></svg>', url: "/category/measurements-and-statistics/", parent: "categories", }, { title: "Internet Governance", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24Zm9.3 7.4h-4a14 14 0 0 0-2-5.3c2.6.9 4.8 2.8 6 5.3Zm-5 4.6c0 1.1-.1 2.1-.3 3.1H8a22.9 22.9 0 0 1 0-6.2h8c.2 1 .3 2 .3 3.1ZM12 1.5c1.3 0 3 2.2 3.8 5.9H8.2C9 3.7 10.7 1.5 12 1.5Zm-3.3.6c-.9 1.3-1.6 3.1-2 5.3h-4C3.9 4.9 6 3 8.7 2ZM1.5 12c0-1 .2-2.1.5-3.1h4.4a24.5 24.5 0 0 0 0 6.2H2c-.3-1-.5-2-.5-3.1Zm1.2 4.6h4a14 14 0 0 0 2 5.3c-2.6-.9-4.8-2.8-6-5.3Zm9.3 5.9c-1.3 0-3-2.2-3.8-5.9h7.6c-.8 3.7-2.5 5.9-3.8 5.9Zm3.3-.6a14 14 0 0 0 2-5.3h4a10.5 10.5 0 0 1-6 5.3Zm2.3-6.8a24.5 24.5 0 0 0 0-6.2H22a10.4 10.4 0 0 1 0 6.2h-4.4Z"/></svg>', url: "/category/internet-governance/", parent: "categories", }, { title: "Technology and Innovation", icon: '<svg xmlns="http://www.w3.org/2000/svg" width="28" viewBox="0 0 640 512" fill="currentColor"><path d="M638 197 564 20a32 32 0 0 0-42-18L414 47c-16 7-23 23-18 39L75 241c-9 5-13 14-10 22l9 21-64 26a16 16 0 0 0-9 21l20 49a16 16 0 0 0 21 8l64-26 9 21c4 10 15 10 22 8l134-46 4 4-51 152a8 8 0 0 0 8 11h17a8 8 0 0 0 7-5l47-141c13 3 22 3 34 0l47 141a8 8 0 0 0 7 5h17a8 8 0 0 0 8-11l-51-152a64 64 0 0 0 19-43l90-32c7 9 21 17 38 10l108-45a32 32 0 0 0 18-42ZM45 353l-8-19 49-21 8 19Zm275-17a32 32 0 1 1 32-32 32 32 0 0 1-32 32Zm56-62a64 64 0 0 0-119 42l-118 41-38-92 306-149 54 129Zm123-20L426 77l109-45 73 177Z"/></svg>', url: "/category/technology-and-innovation/", parent: "categories", }, { title: "Community and Events", icon: '<svg xmlns="http://www.w3.org/2000/svg" width="26" viewBox="0 0 24 17" fill="currentColor"><path d="M20.4 7.2a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-4.8a1.8 1.8 0 1 1 0 3.6 1.8 1.8 0 0 1 0-3.6Zm-8.4 6A4.2 4.2 0 1 0 12 0a4.2 4.2 0 0 0 0 8.4Zm0-7.2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm9.1 7.2h-1.5a3 3 0 0 0-1.5.5l1 .8.5-.1h1.5c1 0 1.7.8 1.7 1.8 0 .3.3.6.6.6s.6-.3.6-.6a3 3 0 0 0-2.9-3ZM3.6 7.2a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0-4.8a1.8 1.8 0 1 1 0 3.6 1.8 1.8 0 0 1 0-3.6ZM15 9.2c-1.2 0-1.6.4-3 .4s-1.8-.4-3-.4a4.1 4.1 0 0 0-4.2 4.1V15c0 1 .8 1.8 1.8 1.8h10.8c1 0 1.8-.8 1.8-1.8v-1.7c0-.9-.3-1.7-.7-2.4A4.1 4.1 0 0 0 15 9.1Zm3 5.8c0 .3-.3.6-.6.6H6.6A.6.6 0 0 1 6 15v-1.7c0-.6.2-1.2.5-1.7A3 3 0 0 1 9 10.3c1 0 1.4.5 3 .5s2-.5 3-.5 2 .5 2.5 1.3c.3.5.5 1.1.5 1.7V15ZM5.9 8.9a3 3 0 0 0-1.6-.5H3a3 3 0 0 0-2.9 3c0 .3.3.6.6.6s.6-.3.6-.6c0-1 .7-1.8 1.7-1.8h1.4l.6.1L6 9Z"/></svg>', url: "/category/community-and-events/", parent: "categories", }, { title: "RIPE NCC", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800" fill="currentColor"><path d="M591 341V135L401 26 209 135v206L33 443v221l190 110 178-103 177 103 191-110V443L591 341zm-190 95-152-88 152-88 151 88-151 88zm-165-65 152 87v175l-152-88V371zm178 87 152-87v174l-152 88V458zM236 150l165-95 165 95v176l-165-96-165 96V150zM58 649V458l151-87v189l165 95-152 88-164-94zm684 0-165 95-152-88 165-95V372l152 87v190z"/></svg>', url: "/category/ripe-ncc/", parent: "categories", }, { title: "Podcasts", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 24" fill="currentColor"><path d="m15 14.7-.5-.8v-.3c.6-.9 1-2 1-3.1 0-3-2.5-5.4-5.4-5.2a5.2 5.2 0 0 0-5 5c0 1.2.4 2.4 1 3.3v.3l-.5.8c0 .2-.3.2-.5 0a6.8 6.8 0 0 1-1.4-4.2c0-3.7 3-6.8 6.6-6.7 3.6 0 6.5 3 6.6 6.6 0 1.6-.5 3.1-1.5 4.3-.1.2-.3.2-.4 0ZM10.3 0C4.6 0 0 4.7 0 10.5c0 3.8 2 7.2 5 9 .1.1.4 0 .4-.3a30 30 0 0 1-.3-1.4 9 9 0 0 1 5-16.3 9 9 0 0 1 5.3 16.4l-.2 1.3c0 .2.2.4.4.3 3-1.8 5-5.1 5-9C20.6 4.7 16 0 10.3 0Zm3 16.7c0 1.5-.7 4.9-1 6.2-.3.9-1.1 1.1-2 1.1-.9 0-1.8-.2-2-1.1-.4-1.3-1-4.7-1-6.2 0-1.7 1.5-2 3-2s3 .3 3 2Zm-1.5 0c0-.8-3-.8-3 0 0 1.3.5 4.4.9 5.7h1.2c.3-1.3.9-4.4.9-5.7Zm1.4-6.2a3 3 0 0 1-3 3 3 3 0 0 1-2.9-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3Zm-1.4 0c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5.7 1.5 1.5 1.5 1.5-.7 1.5-1.5Z"/></svg>', url: "/category/podcasts/", parent: "categories", }, { title: "Tools", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M503 390 378 265a80 80 0 0 0-101-10l-85-86V96L64 0 0 64l96 128h73l86 86a80 80 0 0 0 10 100l125 125a32 32 0 0 0 45 0l68-68c12-13 12-33 0-45zM160 158v2h-48L42 67l25-25 93 70v46zm252 322L288 356a48 48 0 0 1 0-68 48 48 0 0 1 67 0l125 124-68 68zM64 432c0 9 7 16 16 16s16-7 16-16-7-16-16-16-16 7-16 16zM277 67a118 118 0 0 1 104-33l-69 69 14 83 83 14 69-69a118 118 0 0 1-63 126l24 23a150 150 0 0 0 69-166c-3-9-10-16-20-19-9-3-19 0-26 7l-64 64-45-8-7-44 64-64a27 27 0 0 0-13-45 150 150 0 0 0-173 83v68l22 22c-10-40 2-82 31-111zM107 467a45 45 0 0 1-62 0 44 44 0 0 1 0-62l146-146-23-23L22 382a76 76 0 0 0 54 130c20 0 39-8 54-22l101-102c-6-9-11-19-15-30L107 467z"/></svg>', url: "/category/tools/", parent: "categories", }, { title: "Hackathons", url: "/hackathons/", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M368 88a56 56 0 1 0 56 56 56 56 0 0 0-56-56Zm0 80a24 24 0 1 1 24-24 24 24 0 0 1-24 24ZM505.3 19.3a18 18 0 0 0-12.5-12.4C460.7 0 435.5 0 410.5 0 307.3 0 245.4 55.2 199.2 128H95c-16.3 0-35.6 12-42.9 26.5L2.7 253.3A28.4 28.4 0 0 0 .2 264a24 24 0 0 0 24 24h104a96 96 0 0 1 96 96v104a24 24 0 0 0 24 24 28.5 28.5 0 0 0 10.6-2.6l98.7-49.4a52.6 52.6 0 0 0 26.5-42.8V312.8c72.6-46.3 128-108.4 128-211.1 0-25.2 0-50.3-6.8-82.4ZM37.2 256l43.6-87.2A22.3 22.3 0 0 1 95 160h85.1c-14 28-31.7 64-47.6 96l.1.4-95.4-.4ZM352 417.2c0 4.1-5 12.4-8.8 14.2l-87 43.6c0-23.9-.5-94-.5-95.6h.3l96-47.4h.1Zm-102-70.5a127.6 127.6 0 0 0-84.7-84.6C217.3 158.1 265 32 410.5 32c21.1 0 41.2 0 65.4 4.2 4.2 24.4 4.2 44.4 4 65.5 0 145-126.9 193.5-230 245ZM102.3 320C54.4 320 2 359.3.2 480H0v32h32v-.2c171.6-3.4 184.9-115 133.8-166.4a91.5 91.5 0 0 0-63.4-25.4Zm53 109.4c-12.9 31.1-57.7 49.4-123.4 50.5 0-3.5-1.1-127.9 70.4-127.9a60 60 0 0 1 40.8 16 59.4 59.4 0 0 1 12.1 61.4Z"/></svg>', }, { title: "NOGs", url: "/nogs/", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" fill="currentColor"><path d="M184 119c0-7-6-12-13-12l-9 3-28 29c-3 2-4 5-4 9 0 7 6 12 13 12h18l9-3 10-11c3-2 4-5 4-9v-18zM248 8a248 248 0 1 0 0 496 248 248 0 0 0 0-496zm48 458v-34c0-26-21-48-48-48h-20c-4 0-13-3-16-5l-23-17c-3-3-5-7-5-11v-24c0-4 3-9 7-11l42-26 7-2h32c3 0 6 1 8 3l53 45h30l17 17c10 10 22 15 36 15h16c-30 49-78 85-136 98zm153-130h-33c-5 0-10-2-13-5l-18-18c-6-6-14-9-22-9h-18l-44-37c-8-7-18-11-29-11h-32c-8 0-16 2-23 6l-43 26c-14 8-22 23-22 39v24c0 14 7 28 18 36l22 17c9 7 25 12 36 12h20c9 0 16 7 16 16v39l-16 1a216 216 0 0 1-1-432l-15 11c-10 8-16 19-16 32v23c0 6 3 17 6 22l-25 19c-8 8-13 20-13 32v16c0 25 20 45 45 45h26c11 0 21-3 29-10l13 2h13c26 0 32-20 36-22 5 10 14 17 24 20-5 14-1 30 10 42l18 19c9 9 20 14 33 14h27c-2 10-5 21-9 31zm-18-64c-4 0-7-1-10-4l-18-19a10 10 0 0 1 0-14c12-13 10-9 10-18 0-2-1-5-3-7l-7-7c-2-2-5-3-7-3h-14c-8 0-12-11-6-16l8-8c1-2 4-3 6-3h9c5 0 9-4 9-9v-10c0-5-4-10-9-10h-29c-7 0-13 6-13 14v5c0 6-4 11-9 13l-27 9c-4 1-4 5-4 8 0 4-3 7-7 7h-13c-4 0-7-3-7-7 0-8-13-9-15-3-9 12-12 18-20 18h-26c-7 0-13-6-13-13v-17c0-3 1-7 4-9 19-14 30-18 30-32 0-3 1-5 4-6l34-11 3-3 23-22c5-5 3-15-7-15h-17l-14 19v7c0 3-3 6-6 6h-15c-4 0-7-3-7-6V83c0-3 1-5 3-6l44-32a216 216 0 0 1 168 227h-32z"/></svg>', }, { title: "Tools", url: "/category/tools/", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M503 390 378 265a80 80 0 0 0-101-10l-85-86V96L64 0 0 64l96 128h73l86 86a80 80 0 0 0 10 100l125 125a32 32 0 0 0 45 0l68-68c12-13 12-33 0-45zM160 158v2h-48L42 67l25-25 93 70v46zm252 322L288 356a48 48 0 0 1 0-68 48 48 0 0 1 67 0l125 124-68 68zM64 432c0 9 7 16 16 16s16-7 16-16-7-16-16-16-16 7-16 16zM277 67a118 118 0 0 1 104-33l-69 69 14 83 83 14 69-69a118 118 0 0 1-63 126l24 23a150 150 0 0 0 69-166c-3-9-10-16-20-19-9-3-19 0-26 7l-64 64-45-8-7-44 64-64a27 27 0 0 0-13-45 150 150 0 0 0-173 83v68l22 22c-10-40 2-82 31-111zM107 467a45 45 0 0 1-62 0 44 44 0 0 1 0-62l146-146-23-23L22 382a76 76 0 0 0 54 130c20 0 39-8 54-22l101-102c-6-9-11-19-15-30L107 467z"/></svg>', }, { title: "Podcasts", url: "/category/podcasts/", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 24" fill="currentColor"><path d="m15 14.7-.5-.8v-.3c.6-.9 1-2 1-3.1 0-3-2.5-5.4-5.4-5.2a5.2 5.2 0 0 0-5 5c0 1.2.4 2.4 1 3.3v.3l-.5.8c0 .2-.3.2-.5 0a6.8 6.8 0 0 1-1.4-4.2c0-3.7 3-6.8 6.6-6.7 3.6 0 6.5 3 6.6 6.6 0 1.6-.5 3.1-1.5 4.3-.1.2-.3.2-.4 0ZM10.3 0C4.6 0 0 4.7 0 10.5c0 3.8 2 7.2 5 9 .1.1.4 0 .4-.3a30 30 0 0 1-.3-1.4 9 9 0 0 1 5-16.3 9 9 0 0 1 5.3 16.4l-.2 1.3c0 .2.2.4.4.3 3-1.8 5-5.1 5-9C20.6 4.7 16 0 10.3 0Zm3 16.7c0 1.5-.7 4.9-1 6.2-.3.9-1.1 1.1-2 1.1-.9 0-1.8-.2-2-1.1-.4-1.3-1-4.7-1-6.2 0-1.7 1.5-2 3-2s3 .3 3 2Zm-1.5 0c0-.8-3-.8-3 0 0 1.3.5 4.4.9 5.7h1.2c.3-1.3.9-4.4.9-5.7Zm1.4-6.2a3 3 0 0 1-3 3 3 3 0 0 1-2.9-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3Zm-1.4 0c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5.7 1.5 1.5 1.5 1.5-.7 1.5-1.5Z"/></svg>', }, ], footer: [ { title: "About Us", url: "/about-us/", icon: '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 26 22"><path fill="currentColor" d="M13 2.8c-1.2 0-2.4.5-3.2 1.4a5 5 0 0 0-1.4 3.4l.2.4c.2.2.3.3.5.3s.3-.1.5-.3l.2-.4c0-1 .3-1.8.9-2.5.6-.6 1.4-1 2.3-1 .2 0 .3 0 .5-.2l.2-.5-.2-.4a.6.6 0 0 0-.5-.2ZM13 0C8.8 0 5.8 3.6 5.8 7.6c0 1.8.7 3.6 1.8 5 1 1.2 2 3.2 2.2 3.9v3.6l1 1.6.3.2.3.1h3.5l.2-.3 1-1.6.1-.4v-3.2c.1-.7 1.1-2.7 2.2-4 .9-1 1.5-2.4 1.7-3.8a8 8 0 0 0-.6-4.3A7.5 7.5 0 0 0 17 1.2 6.9 6.9 0 0 0 13 0Zm2 19.5-.7 1.1h-2.6l-.6-1v-.4h3.8v.3Zm0-1.6h-4v-1.4h4v1.4Zm2.4-6.3c-.6.7-1.5 2.1-2 3.5h-4.7c-.6-1.4-1.5-2.8-2.1-3.5a6.4 6.4 0 0 1-1.4-4c0-3.3 2.4-6.2 5.8-6.2a6 6 0 0 1 5.9 6.2c0 1.5-.6 3-1.5 4Zm-13.5-4c0-.2 0-.4-.2-.5a.6.6 0 0 0-.5-.2H.6c-.1 0-.3 0-.4.2l-.2.5c0 .1 0 .3.2.4.1.2.3.3.4.3h2.7l.4-.3.2-.4Zm17.5-4.8.3-.1 2.6-1.4c.2 0 .3-.2.4-.4a.7.7 0 0 0-.2-.7l-.2-.2h-.5l-2.6 1.4c-.2.1-.3.2-.3.4-.1.1-.1.3 0 .4l.1.4.4.2Zm4 4h-2.6c-.2 0-.4.1-.5.3l-.2.5c0 .1 0 .3.2.4.1.2.3.3.4.3h2.7l.4-.3.2-.4c0-.2 0-.4-.2-.5a.6.6 0 0 0-.4-.2ZM4.8 1.5 2.2.1a.6.6 0 0 0-.5 0c-.1 0-.3.1-.3.3v.5c0 .2.1.3.3.4l2.6 1.4a.6.6 0 0 0 .7-.1l.2-.4v-.4l-.4-.4Zm19.5 12.4-2.6-1.4h-.5c-.1 0-.3.2-.3.4v.5c0 .2.1.3.3.4l2.6 1.4h.5c.1 0 .3-.2.3-.4v-.5c0-.2-.1-.3-.3-.4ZM4.5 12.4h-.2l-2.6 1.4-.4.4a.7.7 0 0 0 .2.8h.7l2.6-1.3c.2 0 .3-.2.3-.3v-.5l-.1-.4a.6.6 0 0 0-.5-.1Z"/></svg>', }, { title: "Feedback", subtitle: "Tell us what you think", url: "/contact/", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M448 0H64A64 64 0 0 0 0 64v288a64 64 0 0 0 64 64h96v84a12 12 0 0 0 19 10l125-94h144a64 64 0 0 0 64-64V64a64 64 0 0 0-64-64zm32 352a32 32 0 0 1-32 32H293l-8 6-93 70v-76H64a32 32 0 0 1-32-32V64a32 32 0 0 1 32-32h384a32 32 0 0 1 32 32v288z"/></svg>', }, { title: "Legal", subtitle: "Copyright, Privacy, Terms, Cookies", url: "/legal/", icon: '<svg width="80" height="80" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="m634.4 375-109-175.9a16.1 16.1 0 0 0-26.7 0l-109.1 176a31 31 0 0 0-5.5 19.6A128.2 128.2 0 0 0 512 512c67.3 0 122.5-51.6 128-117.3.5-6.9-1.7-13.8-5.6-19.6zM512 238.3 602.3 384H421l91-145.8zm0 241.8c-41.3 0-77-26.8-90.4-64h181.2a97.2 97.2 0 0 1-90.8 64zm17.9-317.2 5-15.2a8 8 0 0 0-5-10.1L379.5 87.2A64 64 0 0 0 320 0a63.8 63.8 0 0 0-61.3 46.7L120.2.4a8 8 0 0 0-10 5L105 20.7a8 8 0 0 0 5 10.2l148.4 49.6a63.8 63.8 0 0 0 45.6 45.3V480H104a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h224a8 8 0 0 0 8-8V125.7a63.4 63.4 0 0 0 23.3-11.5l160.5 53.6a8 8 0 0 0 10-5zM320 96a32 32 0 1 1 0-64 32 32 0 0 1 0 64zm-64 170.7a31 31 0 0 0-5.6-19.6l-109-176C138.2 66.4 133 64 128 64s-10.2 2.4-13.3 7.1L5.6 247.1a31 31 0 0 0-5.5 19.6 128.4 128.4 0 0 0 255.9 0zM128 110.2 218.3 256H37l91-145.8zM37.6 288h181.2a97.2 97.2 0 0 1-90.8 64c-41.3 0-77-26.8-90.4-64z"/></svg>', }, ], }; </script> <main id="main" class="flex-1"> <div class=" w-full bg-white border-t border-b h-14 md:border-t-0 border-ncc-inactive md:relative print:hidden"> <nav id="menu-bar" class="container grid items-center justify-between h-full grid-cols-2 pr-6 md:grid-cols-3"> <div class="hidden md:block md:col-span-1"> </div> <div class="md:text-center col-span-1 "> <p class="whitespace-nowrap lg:px-0">Want to contribute? <a class="font-semibold text-ncc-orange" href="/contributing-to-ripe-labs/">Learn how</a></p> </div> <div class="flex w-full md:space-x-6 justify-end "> <a href="/search/" title="Search RIPE Labs"><svg class="fill-current icon icon-neutral" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m19.86 18.81-5.04-5.04a.46.46 0 0 0-.33-.13h-.4a8.12 8.12 0 1 0-.45.46v.4c0 .12.05.23.13.32l5.04 5.04c.19.19.48.19.67 0l.38-.38a.47.47 0 0 0 0-.67ZM8.12 15a6.87 6.87 0 1 1 0-13.74 6.87 6.87 0 0 1 0 13.74Z" opacity=".9"/></svg></a> </div> </nav> </div> <div id="messagesContainer" class="sticky z-40 top-burger"> </div> <div class="page-banner"> <div class="container"> <h1>Search</h1> <svg width="82" height="82" viewBox="0 0 82 82" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="#2A4587" stroke="#2A4587" d="M58.5 55a33 33 0 1 0-3.4 3.4v.6c0 .6.2 1.2.6 1.6L76 80.8c1 1 2.4 1 3.4 0l1.5-1.5c1-1 1-2.5 0-3.4L60.6 55.7c-.4-.4-1-.7-1.6-.7h-.5Zm-25 5.5a27 27 0 1 1 0-54 27 27 0 0 1 0 54Z" opacity=".9"/></svg> </div> </div> <div id="search" class="container lg:mt-8 mb-24"> <form action="/search/" method="get"> <div id="search-filters" class="hidden lg:w-1/4 lg:float-left lg:block"> <div class="space-y-8 mt-8"> <fieldset aria-label="Type of content" title="Select the type of content you want to search for" aria-required="true" role="radiogroup"> <legend class="section-title-bar"><h2>Type of content</h2></legend> <div class="flex items-center my-2"> <label for="id_type_of_content_0"> <input type="radio" name="type_of_content" value="all" tabindex="4" id="id_type_of_content_0"> <span class="items-center space-x-3 hover:cursor-pointer text-sm ml-3">All Website</span> </label> </div> <div class="flex items-center my-2"> <label for="id_type_of_content_1"> <input type="radio" name="type_of_content" value="articles" tabindex="4" id="id_type_of_content_1" checked> <span class="items-center space-x-3 hover:cursor-pointer text-sm ml-3">Articles</span> </label> </div> <div class="flex items-center my-2"> <label for="id_type_of_content_2"> <input type="radio" name="type_of_content" value="authors" tabindex="4" id="id_type_of_content_2"> <span class="items-center space-x-3 hover:cursor-pointer text-sm ml-3">Authors</span> </label> </div> </fieldset> <fieldset id="tags-search-filters"> <legend class="section-title-bar"><h2>Tags</h2></legend> <div class="space-y-3"> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Network Operations" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Network Operations"> <span class="js-main-filter-label">Network Operations</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="dns" aria-label="dns"> <span>dns</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="routing" aria-label="routing"> <span>routing</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="security" aria-label="security"> <span>security</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="rpki" aria-label="rpki"> <span>rpki</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ipv4" aria-label="ipv4"> <span>ipv4</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ipv6" aria-label="ipv6"> <span>ipv6</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="transfers" aria-label="transfers"> <span>transfers</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="bgp" aria-label="bgp"> <span>bgp</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="peering" aria-label="peering"> <span>peering</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="internet-infrastructure" aria-label="internet infrastructure"> <span>internet infrastructure</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ntp" aria-label="ntp"> <span>ntp</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Measurements and Statistics" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Measurements and Statistics"> <span class="js-main-filter-label">Measurements and Statistics</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="measurements" aria-label="measurements"> <span>measurements</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="atlas" aria-label="atlas"> <span>atlas</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ripestat" aria-label="ripestat"> <span>ripestat</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="tools" aria-label="tools"> <span>tools</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="geolocation" aria-label="geolocation"> <span>geolocation</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ris" aria-label="ris"> <span>ris</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="statistics" aria-label="statistics"> <span>statistics</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="use-case" aria-label="use case"> <span>use case</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="outages" aria-label="outages"> <span>outages</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="guides" aria-label="guides"> <span>guides</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Internet Governance" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Internet Governance"> <span class="js-main-filter-label">Internet Governance</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="governance" aria-label="governance"> <span>governance</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="policy" aria-label="policy"> <span>policy</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="privacy" aria-label="privacy"> <span>privacy</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="country" aria-label="country"> <span>country</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="sustainability" aria-label="sustainability"> <span>sustainability</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="regulations" aria-label="regulations"> <span>regulations</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="sanctions" aria-label="sanctions"> <span>sanctions</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Technology and Innovation" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Technology and Innovation"> <span class="js-main-filter-label">Technology and Innovation</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="research" aria-label="research"> <span>research</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="internet-of-things" aria-label="internet of things"> <span>internet of things</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="cloud" aria-label="cloud"> <span>cloud</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="floss" aria-label="floss"> <span>floss</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="quantum" aria-label="quantum"> <span>quantum</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="artificial-intelligence" aria-label="artificial intelligence"> <span>artificial intelligence</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="open-source" aria-label="open source"> <span>open source</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Community and Events" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Community and Events"> <span class="js-main-filter-label">Community and Events</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="community" aria-label="community"> <span>community</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="community-projects-fund" aria-label="community projects fund"> <span>community projects fund</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="covid19" aria-label="covid19"> <span>covid19</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="diversity" aria-label="diversity"> <span>diversity</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="events" aria-label="events"> <span>events</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="fosdem" aria-label="fosdem"> <span>fosdem</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="hackathons" aria-label="hackathons"> <span>hackathons</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="nogs" aria-label="nogs"> <span>nogs</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="raci" aria-label="raci"> <span>raci</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="ripe" aria-label="ripe"> <span>ripe</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="training" aria-label="training"> <span>training</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under RIPE NCC" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under RIPE NCC"> <span class="js-main-filter-label">RIPE NCC</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="operational" aria-label="operational"> <span>operational</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="members" aria-label="members"> <span>members</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="internet-number-resources" aria-label="internet number resources"> <span>internet number resources</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="legal" aria-label="legal"> <span>legal</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="database" aria-label="database"> <span>database</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="gdpr" aria-label="gdpr"> <span>gdpr</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Podcasts" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Podcasts"> <span class="js-main-filter-label">Podcasts</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="podcast" aria-label="podcast"> <span>podcast</span> </label> </div> </details> <details class="nested-checkboxes select-none cursor-pointer" title="Expand to select tags under Tools" tabindex="5"> <summary> <div class="flex items-center space-x-3"> <label class="flex items-center space-x-3"> <input type="checkbox" class="js-main-filter-checkbox hidden" aria-label="Select all tags under Tools"> <span class="js-main-filter-label">Tools</span> </label> <span class="js-counter bg-accent text-white text-xs px-2 rounded-sm hidden">0</span> </div> <svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg> </summary> <div class="js-checkboxes space-y-2 mt-2 py-2 px-3 ml-4 bg-neutral-low"> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="production" aria-label="production"> <span>production</span> </label> <label class="flex items-center space-x-3 hover:cursor-pointer"> <input type="checkbox" name="tags" value="prototype" aria-label="prototype"> <span>prototype</span> </label> </div> </details> </div> </fieldset> </div> </div> <div class="lg:w-2/3 lg:float-right"> <div class="block lg:flex xl:space-x-6 space-x-3 my-6"> <div class="flex flex-col w-full min-w-32 relative"> <label class="text-xs text-neutral-mid" for=id_search_terms>Search terms</label> <input type="text" name="search_terms" maxlength="128" class="h-12 lg:text-xl lg:search" autofocus tabindex=1 placeholder=Search id="id_search_terms"> <button class="absolute bottom-0 top-5 right-12 lg:hidden" type="submit" alt="Search" title="Search"><svg class="fill-current icon icon-neutral" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m19.86 18.81-5.04-5.04a.46.46 0 0 0-.33-.13h-.4a8.12 8.12 0 1 0-.45.46v.4c0 .12.05.23.13.32l5.04 5.04c.19.19.48.19.67 0l.38-.38a.47.47 0 0 0 0-.67ZM8.12 15a6.87 6.87 0 1 1 0-13.74 6.87 6.87 0 0 1 0 13.74Z" opacity=".9"/></svg></button> <button id="search-mobile-filters" class="absolute bottom-0 top-5 right-4 lg:hidden" type="button" title="Search filters"><svg class="fill-current icon icon-neutral" width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.8 5.3V3.8c0-.5-.3-.8-.8-.8H3.8V.2S3.7 0 3.5 0H3s-.2.1-.2.3V3H1.5c-.4 0-.7.3-.7.8v1.5c0 .4.3.7.7.7h1.3v9.8l.2.2h.5c.2 0 .3-.1.3-.3V6H5c.5 0 .8-.3.8-.8Zm-1-.3h-3V4h3v1Zm4.7 5H8.3V.2S8.2 0 8 0h-.5s-.2.1-.2.3V10H6c-.4 0-.7.3-.7.8v1.4c0 .5.3.8.7.8h1.3v2.8l.2.2H8c.2 0 .3-.1.3-.3V13h1.2c.5 0 .8-.3.8-.8v-1.4c0-.5-.3-.8-.8-.8Zm-.2 2h-3v-1h3v1ZM14 5h-1.2V.2s-.1-.2-.3-.2H12s-.2.1-.2.3V5h-1.3c-.4 0-.7.3-.7.8v1.5c0 .4.3.7.7.7h1.3v7.8l.2.2h.5c.2 0 .3-.1.3-.3V8H14c.5 0 .8-.3.8-.8V5.8c0-.4-.3-.7-.8-.7Zm-.2 2h-3V6h3v1Z"/></svg></button> </div> <div id="timeframe_dropdown" class="hidden my-1 lg:my-0 lg:flex flex-col lg:w-72 text-neutral-mid text-xs"> <label class="text-neutral-mid text-xs" for="id_timeframe">Timeframe</label> <div class="min-w-32 inline-block relative select-wrapper"> <select name="timeframe" tabindex=2 class="dropdown" id="id_timeframe"> <option value="any" selected>Any time</option> <option value="week">Past week</option> <option value="day">Past day</option> <option value="month">Past month</option> <option value="year">Past year</option> </select> <div class="absolute flex items-center inset-y-0 right-0 pointer-events-none px-2"><svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg></div> </div> </div> <div id="sortby_dropdown" class="hidden my-1 lg:my-0 lg:flex flex-col lg:w-72 text-neutral-mid text-xs"> <label class="text-neutral-mid text-xs" for="id_sort_by">Sort by</label> <div class="min-w-32 inline-block relative select-wrapper"> <select name="sort_by" tabindex=3 class="dropdown" id="id_sort_by"> <option value="relevance" selected>Most relevant</option> <option value="recent">Most recent</option> </select> <div class="absolute flex items-center inset-y-0 right-0 pointer-events-none px-2"><svg class="stroke-current text-neutral-mid" width="13" height="7" viewBox="0 0 13 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m1 1 4.6 4.6c.7.7.7.7 1.4 0L11.6 1"/></svg></div> </div> </div> <div class="hidden lg:flex lg:flex-col"> <label for="submit-button"> </label> <input type="submit" value="Search" id="submit-button" class="lg:btn btn-primary h-full px-4 xl:px-8" tabindex="6" aria-label="Search" title="Submit the search form"> </div> </div> </div> </form> <div class="lg:w-2/3 lg:float-right"> <div class="space-y-12"> </div> </div> <div class="clear-both"></div> </div> </main> <div class="js-last-item-overlay relative bg-ncc-blue print:hidden"> <div class="container relative flex items-center overflow-x-auto md:overflow-hidden"> <ul class="py-2 space-x-6 text-white md:py-6 whitespace-nowrap md:truncate"> <li class="inline">Explore Categories:</li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/network-operations/">Network Operations</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/measurements-and-statistics/">Measurements and Statistics</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/internet-governance/">Internet Governance</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/technology-and-innovation/">Technology and Innovation</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/community-and-events/">Community and Events</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/ripe-ncc/">RIPE NCC</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 " href="/category/podcasts/">Podcasts</a> </li> <li class="inline"> <a class="outline-none focus:ring focus:ring-low focus:ring-opacity-60 js-last-item" href="/category/tools/">Tools</a> </li> </ul> <a href="/categories/" class="hidden ml-10 text-sm font-semibold outline-none md:block text-accent-light whitespace-nowrap focus:ring focus:ring-low focus:ring-opacity-60">View all</a> </div> <div class="js-overlay last-item-overlay absolute inset-y-0 right-0 z-10 w-24 h-full -mb-12 transition-opacity duration-150 pointer-events-none md:hidden"></div> </div> <footer class="print:hidden"> <div class="py-10 text-center text-white border-t-2 border-b-2 border-white bg-ncc-blue md:text-left"> <div class="container flex flex-col flex-wrap items-center space-y-6 md:h-48 md:space-y-0"> <div class="flex flex-col items-center self-start order-1 w-full md:w-1/3 md:block"> <img alt="RIPE Labs" src="/static/images/logo-white.svg"> </div> <div class="w-full md:w-1/3 md:h-full flex flex-col items-center md:block self-start order-2"> <div class="flex flex-col max-w-xs md:max-w-none whitespace-nowrap"> <a class="hover:underline" href="/">Home</a> <a class="hover:underline" href="/sitemap.xml">Sitemap</a> <a class="hover:underline" href="/about-us/">About us</a> <a class="hover:underline" href="/contact/">Contact us</a> <a class="hover:underline" href="/legal/">Legal</a> </div> </div> <div class="order-3 w-full md:w-1/3 flex flex-col"> <h2 class="text-xl">Stay connected</h2> <div class="flex self-center justify-between w-full max-w-xs mt-4 md:self-auto social-buttons"> <a rel="nofollow noreferrer noopener" target="_blank" title="Facebook" href="http://facebook.com/ripencc"><svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" d="m9.2 10 .5-3h-3V5c0-.8.5-1.6 1.8-1.6h1.3V.8L7.5.6c-2.4 0-4 1.4-4 4V7H.8v3h2.7v7.4h3.3v-7.3h2.4Z"/></svg></a> <a rel="nofollow noreferrer noopener" target="_blank" title="Twitter" href="https://twitter.com/ripelabs"><svg width="18" height="15" viewBox="0 0 18 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" d="M17.4 2.3c-.6.3-1.3.5-2 .5A3 3 0 0 0 17 .9c-.7.4-1.5.7-2.2.9C14 1 13.2.7 12.2.7s-1.7.3-2.4 1-1 1.5-1 2.4V5a9.6 9.6 0 0 1-7-3.6c-.4.6-.5 1.1-.5 1.8A3.4 3.4 0 0 0 2.8 6a3 3 0 0 1-1.5-.5c0 .9.2 1.6.7 2.2.6.7 1.2 1 2 1.2a3.6 3.6 0 0 1-1.5 0 3.4 3.4 0 0 0 3.2 2.4 6.8 6.8 0 0 1-5.1 1.5 10 10 0 0 0 11.5-.6 10.4 10.4 0 0 0 3.6-7.7v-.4c.7-.5 1.2-1 1.7-1.8Z"/></svg></a> <a rel="nofollow noreferrer noopener" target="_blank" title="LinkedIn" href="https://www.linkedin.com/company/ripe-ncc"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" d="M4.3 17.4H1V6.2h3.4v11.2ZM2.6 4.6a2 2 0 0 1-2-2 2 2 0 0 1 4 0 2 2 0 0 1-2 2Zm14.8 12.8H14V12c0-1.3 0-3-1.8-3s-2 1.5-2 3v5.5H6.4V6.2H10v1.5c.5-.9 1.6-1.8 3.3-1.8 3.6 0 4.2 2.3 4.2 5.3v6.2Z"/></svg></a> <a rel="nofollow noreferrer noopener" target="_blank" title="YouTube" href="http://www.youtube.com/user/RIPENCC"><svg width="18" viewBox="0 0 14 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" fill-rule="evenodd" d="M13.5 2.2c-.2-.5-.7-1-1.2-1.1C11.3.8 7 .8 7 .8S2.8.8 1.7 1c-.5.1-1 .6-1.2 1.1-.2 1-.2 3.2-.2 3.2s0 2.2.2 3.2c.2.6.7 1 1.2 1.2 1 .3 5.3.3 5.3.3s4.2 0 5.3-.3a2 2 0 0 0 1.2-1.2c.2-1 .2-3.2.2-3.2s0-2.1-.2-3.2ZM5.3 7.5V3.3l3.4 2.1-3.4 2.1Z" clip-rule="evenodd"/></svg></a> <a rel="nofollow noreferrer noopener" target="_blank" title="Github" href="https://github.com/RIPE-NCC"><svg width="18" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" d="m4.9 11.1-.2.1h-.1l.1-.2.2.1ZM4 11l.1.1h.2l-.1-.2H4Zm1.3 0H5c0 .1.1.2.2.1h.1l-.1-.2ZM7 .2C3.2.3.3 3.2.3 7c0 3 2 5.7 4.7 6.6.3 0 .5-.1.5-.3v-1.7s-2 .4-2.4-.9c0 0-.3-.8-.8-1 0 0-.6-.4 0-.4 0 0 .8 0 1.1.7.7 1 1.7.8 2 .6l.5-1c-1.5-.1-3.1-.3-3.1-3 0-.8.2-1.2.7-1.7-.1-.1-.4-.9 0-1.8.6-.2 2 .7 2 .7a6.5 6.5 0 0 1 3.4 0s1.4-1 2-.7c.3 1 .1 1.7 0 1.8.5.5.8 1 .8 1.7 0 2.7-1.7 2.9-3.2 3 .2.3.4.7.4 1.4v2.3c0 .2.2.4.5.3A7 7 0 0 0 14.1 7 7 7 0 0 0 7 .3ZM3 9.9v.1Zm-.3-.3v.2H3l-.1-.2h-.1Zm.9 1v.2h.2v-.1c-.1-.1-.2-.1-.2 0Zm-.3-.4v.2h.1v-.1s-.1-.1-.1 0Z"/></svg></a> <a rel="nofollow noreferrer noopener" target="_blank" title="RSS Feed" href="/feed.xml"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="white" fill-rule="evenodd" d="M.76.26a13.48 13.48 0 0 1 12.98 12.98.5.5 0 0 1-.48.5H11.8a.48.48 0 0 1-.48-.47A11.07 11.07 0 0 0 .73 2.67a.48.48 0 0 1-.47-.48V.75c0-.28.23-.5.5-.49ZM9.4 13.23A9.14 9.14 0 0 0 .77 4.6a.48.48 0 0 0-.5.48v1.45c0 .25.19.46.44.48A6.74 6.74 0 0 1 7 13.3c.02.25.23.45.48.45h1.45c.27 0 .5-.23.48-.5Zm-5.28-1.42a1.93 1.93 0 1 1-3.86 0 1.93 1.93 0 0 1 3.86 0Z" clip-rule="evenodd"/></svg></a> </div> </div> </div> </div> <div class="bg-ncc-blue h-18"></div> </footer> <script src="/static/CACHE/js/js.70550276523f.js" defer></script> <noscript><img src="https://www-analytics.ripe.net/matomo.php?idsite=10&rec=1" style="border:0;" alt=""></noscript> </body> </html>