Website/public/news/hibby-at-eurobsdcon-2024/index.html

447 lines
14 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="auto">
<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>Hibby at EuroBSDCon 2024 | </title>
<meta name="keywords" content="">
<meta name="description" content="Hibby presented at EuroBSDCon about packet radio. This was more of an overview and introduction to the UK Packet Radio Network than an in depth description of the Hibbian project.
The video can be found on youtube.">
<meta name="author" content="Hibby">
<link rel="canonical" href="https://www.hibbian.org/news/hibby-at-eurobsdcon-2024/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.94ca6368315b3c15b0f0e79bc7ec5d1dd70d3eb8ba8449219f5e1027772e645f.css" integrity="sha256-lMpjaDFbPBWw8Oebx&#43;xdHdcNPri6hEkhn14QJ3cuZF8=" rel="preload stylesheet" as="style">
<link rel="icon" href="https://www.hibbian.org/favicon.ico">
<link rel="apple-touch-icon" href="https://www.hibbian.org/apple-touch-icon.png">
<link rel="alternate" hreflang="en" href="https://www.hibbian.org/news/hibby-at-eurobsdcon-2024/">
<meta name="twitter:title" content="Hibby at EuroBSDCon 2024 | " />
<meta name="twitter:description" content="Hibby presented at EuroBSDCon about packet radio. This was more of an overview and introduction to the UK Packet Radio Network than an in depth description of the Hibbian project.
The video can be found on youtube." />
<meta property="og:title" content="Hibby at EuroBSDCon 2024 | " />
<meta property="og:description" content="Hibby presented at EuroBSDCon about packet radio. This was more of an overview and introduction to the UK Packet Radio Network than an in depth description of the Hibbian project.
The video can be found on youtube." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://www.hibbian.org/news/hibby-at-eurobsdcon-2024/" />
<meta property="article:section" content="news" />
<meta property="article:published_time" content="2024-09-24T22:17:29&#43;01:00" />
<meta property="article:modified_time" content="2024-09-24T22:17:29&#43;01:00" /><meta property="og:site_name" content="Hibbian Linux" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "News",
"item": "https://www.hibbian.org/news/"
},
{
"@type": "ListItem",
"position": 2 ,
"name": "Hibby at EuroBSDCon 2024",
"item": "https://www.hibbian.org/news/hibby-at-eurobsdcon-2024/"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Hibby at EuroBSDCon 2024 | ",
"name": "Hibby at EuroBSDCon 2024",
"description": "Hibby presented at EuroBSDCon about packet radio. This was more of an overview and introduction to the UK Packet Radio Network than an in depth description of the Hibbian project.\nThe video can be found on youtube.",
"keywords": [
],
"wordCount" : "37",
"inLanguage": "en",
"datePublished": "2024-09-24T22:17:29+01:00",
"dateModified": "2024-09-24T22:17:29+01:00",
"author":{
"@type": "Person",
"name": "Hibby"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.hibbian.org/news/hibby-at-eurobsdcon-2024/"
},
"publisher": {
"@type": "Organization",
"name": "",
"logo": {
"@type": "ImageObject",
"url": "https://www.hibbian.org/favicon.ico"
}
}
}
</script>
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
<style>
@media (prefers-color-scheme: dark) {
:root {
--theme: rgb(29, 30, 32);
--entry: rgb(46, 46, 51);
--primary: rgb(218, 218, 219);
--secondary: rgb(155, 156, 157);
--tertiary-bg: rgb(65, 66, 68);
--content: rgb(196, 196, 197);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list-page {
background: var(--theme);
}
.list-page:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list-page:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
</head>
<body class=" type-news kind-page layout-" id="top"><script data-no-instant>
function switchTheme(theme) {
switch (theme) {
case 'light':
document.body.classList.remove('dark');
break;
case 'dark':
document.body.classList.add('dark');
break;
default:
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
}
}
function isDarkTheme() {
return document.body.className.includes("dark");
}
function getPrefTheme() {
return localStorage.getItem("pref-theme");
}
function setPrefTheme(theme) {
switchTheme(theme)
localStorage.setItem("pref-theme", theme);
}
const toggleThemeCallbacks = {}
toggleThemeCallbacks['main'] = (isDark) => {
if (isDark) {
setPrefTheme('light');
} else {
setPrefTheme('dark');
}
}
window.addEventListener('toggle-theme', function() {
const isDark = isDarkTheme()
for (const key in toggleThemeCallbacks) {
toggleThemeCallbacks[key](isDark)
}
});
function toggleThemeListener() {
window.dispatchEvent(new CustomEvent('toggle-theme'));
}
</script>
<script>
(function() {
const defaultTheme = 'auto';
const prefTheme = getPrefTheme();
const theme = prefTheme ? prefTheme : defaultTheme;
switchTheme(theme);
})();
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<span class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" 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 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" 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"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</span>
</div>
<ul id="menu">
<li>
<a href="https://www.hibbian.org/" title="Home" class="active"
>Home
</a>
</li>
<li>
<a href="https://guide.hibbian.org/repo/" title="Install"
>Install
</a>
</li>
<li>
<a href="https://www.hibbian.org/news/" title="News" class="active"
>News
</a>
</li>
<li>
<a href="https://www.hibbian.org/articles/" title="Articles"
>Articles
</a>
</li>
<li>
<a href="https://guide.hibbian.org/" title="Guide"
>Guide
</a>
</li>
<li>
<a href="https://git.hibbian.org/" title="Git"
>Git
</a>
</li>
</ul>
</nav>
</header>
<main class="main post">
<article class="post-single">
<header class="post-header">
<h1 class="post-title">Hibby at EuroBSDCon 2024</h1>
<div class="post-meta"><span class="meta-item">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar" style="user-select: text;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2" style="user-select: text;"></rect><line x1="16" y1="2" x2="16" y2="6" style="user-select: text;"></line><line x1="8" y1="2" x2="8" y2="6" style="user-select: text;"></line><line x1="3" y1="10" x2="21" y2="10" style="user-select: text;"></line></svg>
<span>September 24, 2024</span></span>
</div>
</header>
<div class="post-content"><p>Hibby presented at EuroBSDCon about packet radio. This was more of an overview
and introduction to the UK Packet Radio Network than an in depth description of
the Hibbian project.</p>
<p>The video can be found on <a href="https://youtu.be/u_bdSqqHm58?t=12094">youtube</a>.</p>
</div>
<footer class="post-footer">
</footer>
<div class="comments-separator"></div>
</article>
</main>
<footer class="footer">
<span>&copy; 2024 <a href="https://www.hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
</span>
<span style="display: inline-block; margin-left: 1em;">
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</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 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
(function() {
const disableThemeToggle = '' == '1';
if (disableThemeToggle) {
return;
}
let button = document.getElementById("theme-toggle")
button.removeEventListener('click', toggleThemeListener)
button.addEventListener('click', toggleThemeListener)
})();
</script>
<script>
(function () {
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
const disableSmoothScroll = '' == '1';
const enableInstantClick = '' == '1';
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
return;
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
})();
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
if (window.scrollListeners) {
for (const listener of scrollListeners) {
window.removeEventListener('scroll', listener)
}
}
window.scrollListeners = []
</script>
<script src="/js/medium-zoom.min.js" data-no-instant
></script>
<script>
(function() {
const enableTocScroll = '' == '1'
if (!enableTocScroll) {
return
}
if (!document.querySelector('.toc')) {
console.log('no toc found, ignore toc scroll')
return
}
const scrollListeners = window.scrollListeners
const headings = document.querySelectorAll('h1[id],h2[id],h3[id],h4[id],h5[id]');
const activeClass = 'active';
let activeHeading = headings[0];
getLinkByHeading(activeHeading).classList.add(activeClass);
const onScroll = () => {
const passedHeadings = [];
for (const h of headings) {
if (getOffsetTop(h) < 5) {
passedHeadings.push(h)
} else {
break;
}
}
if (passedHeadings.length > 0) {
newActiveHeading = passedHeadings[passedHeadings.length - 1];
} else {
newActiveHeading = headings[0];
}
if (activeHeading != newActiveHeading) {
getLinkByHeading(activeHeading).classList.remove(activeClass);
activeHeading = newActiveHeading;
getLinkByHeading(activeHeading).classList.add(activeClass);
}
}
let timer = null;
const scrollListener = () => {
if (timer !== null) {
clearTimeout(timer)
}
timer = setTimeout(onScroll, 50)
}
window.addEventListener('scroll', scrollListener, false);
scrollListeners.push(scrollListener)
function getLinkByHeading(heading) {
const id = encodeURI(heading.getAttribute('id')).toLowerCase();
return document.querySelector(`.toc ul li a[href="#${id}"]`);
}
function getOffsetTop(heading) {
if (!heading.getClientRects().length) {
return 0;
}
let rect = heading.getBoundingClientRect();
return rect.top
}
})();
</script>
</body>
</html>