hhl/public/news/page/2/index.html
2021-02-19 22:43:36 -05:00

609 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="sidebar-visible no-js light">
<head>
<meta charset="utf-8">
<title>Hitch Hiker Linux</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
<link rel="icon" href="&#x2F;favicon.svg">
<link rel="shortcut icon" href="&#x2F;favicon.png">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;css&#x2F;variables.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;css&#x2F;general.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;css&#x2F;chrome.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;css&#x2F;print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="&#x2F;handbook&#x2F;FontAwesome&#x2F;css&#x2F;font-awesome.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;fonts&#x2F;fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="&#x2F;handbook&#x2F;highlight.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;tomorrow-night.css">
<link rel="stylesheet" href="&#x2F;handbook&#x2F;ayu-highlight.css">
<!-- Custom Stylesheets -->
<link rel="stylesheet" href="&#x2F;hhl.css">
</head>
<body>
<!-- Provide site root to javascript -->
<script type="text/javascript">
var path_to_root = "&#x2F;handbook";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script type="text/javascript">
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script type="text/javascript">
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('light')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script type="text/javascript">
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter">
<li class="chapter-item affix ">
<a href="/">Home</a>
</li>
<li class="chapter-item affix ">
<a href="/news/">News</a>
</li>
<li class="chapter-item affix ">
<a href="/about/">About</a>
</li>
<li class="chapter-item affix ">
<a href="/pub/">Download</a>
</li>
<li class="chapter-item affix ">
<a href="https://git.hitchhiker-linux.org">Source</a>
</li>
<li class="spacer"></li>
<li class="chapter-item affix ">
<a href="/handbook/">Handbook</a>
</li>
</ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">Light (default)</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
</div>
<h1 class="menu-title">
Hitch Hiker Linux
</h1>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<div id="content" class="content">
<main>
<h1><a class="header" href="#recent" id="recent">Recent posts</a></h1>
<ul>
<div class="card">
<a class = header href="/news/on-libc-rust-experiments-and-risc-v/">
<strong>On Libc, rust experiments, and Risc-V</strong>
</a>
<div class="right">2020-11-15</div>
<a href="/news/on-libc-rust-experiments-and-risc-v/">Read More -></a>
</div>
<div class="card">
<a class = header href="/news/some-more-home-cooking/">
<strong>Some More Home Cooking</strong>
</a>
<div class="right">2020-10-06</div>
<p>After removing GNU coreutils and taking closer stock of what we have as a
&quot;base system&quot;, I am mostly happy with the selection but now wish to spend some
time making behaviors, documentation and source code itself more uniform. I have
also done some work towards correcting a couple of omissions that are present
due to the previous surgury. The commit that I pushed this morning has a few
notable changes....</p>
<a href="/news/some-more-home-cooking/">Read More -></a>
</div>
<div class="card">
<a class = header href="/news/goodbye-gnu-coreutils-importing-sed/">
<strong>Goodbye GNU coreutils, importing sed</strong>
</a>
<div class="right">2020-09-22</div>
<p>The porting effort has reached the point where it is now safe to remove GNU
coreutils. At this point, there are now only 16 utilities provided by the
coreutils package...</p>
<a href="/news/goodbye-gnu-coreutils-importing-sed/">Read More -></a>
</div>
<div class="card">
<a class = header href="/news/continued-porting-of-bsd-userland-against-remaining-self-hosting/">
<strong>Continued porting of BSD userland against remaining self-hosting</strong>
</a>
<div class="right">2020-09-03</div>
<p>At this juncture we're well over the halfway point in regards to providing a predominately BSD userland in HitchHiker, with over 90 console utilities ported against a total of 59 remaining programs brought in from GNU coreutils. That total includes...</p>
<a href="/news/continued-porting-of-bsd-userland-against-remaining-self-hosting/">Read More -></a>
</div>
<div class="card">
<a class = header href="/news/editors-glibc-232/">
<strong>Editors, glibc-2.32</strong>
</a>
<div class="right">2020-08-28</div>
<p>Most people who use any form of Unix have a favorite editor. Most of them also think that everyone else is wrong...</p>
<a href="/news/editors-glibc-232/">Read More -></a>
</div>
</ul>
<hr>
<p class="subtitle"><strong>Tags:</strong></p>
<a class="tags" href="&#x2F;tags&#x2F;4-4bsdlite&#x2F;">4.4BSDlite</a>
<a class="tags" href="&#x2F;tags&#x2F;arm&#x2F;">Arm</a>
<a class="tags" href="&#x2F;tags&#x2F;c-programming&#x2F;">C Programming</a>
<a class="tags" href="&#x2F;tags&#x2F;clang&#x2F;">Clang</a>
<a class="tags" href="&#x2F;tags&#x2F;cross-compile&#x2F;">cross-compile</a>
<a class="tags" href="&#x2F;tags&#x2F;css&#x2F;">css</a>
<a class="tags" href="&#x2F;tags&#x2F;deprecation&#x2F;">Deprecation</a>
<a class="tags" href="&#x2F;tags&#x2F;editors&#x2F;">Editors</a>
<a class="tags" href="&#x2F;tags&#x2F;glibc&#x2F;">Glibc</a>
<a class="tags" href="&#x2F;tags&#x2F;gnu-make&#x2F;">GNU Make</a>
<a class="tags" href="&#x2F;tags&#x2F;html&#x2F;">html</a>
<a class="tags" href="&#x2F;tags&#x2F;libraries&#x2F;">Libraries</a>
<a class="tags" href="&#x2F;tags&#x2F;llvm&#x2F;">llvm</a>
<a class="tags" href="&#x2F;tags&#x2F;mdbook&#x2F;">mdbook</a>
<a class="tags" href="&#x2F;tags&#x2F;milestones&#x2F;">Milestones</a>
<a class="tags" href="&#x2F;tags&#x2F;nongnu&#x2F;">NonGNU</a>
<a class="tags" href="&#x2F;tags&#x2F;packages&#x2F;">Packages</a>
<a class="tags" href="&#x2F;tags&#x2F;pkgsrc&#x2F;">Pkgsrc</a>
<a class="tags" href="&#x2F;tags&#x2F;porting&#x2F;">Porting</a>
<a class="tags" href="&#x2F;tags&#x2F;programming&#x2F;">Programming</a>
<a class="tags" href="&#x2F;tags&#x2F;qemu&#x2F;">Qemu</a>
<a class="tags" href="&#x2F;tags&#x2F;riscv&#x2F;">RiscV</a>
<a class="tags" href="&#x2F;tags&#x2F;roadmap&#x2F;">Roadmap</a>
<a class="tags" href="&#x2F;tags&#x2F;rust&#x2F;">Rust</a>
<a class="tags" href="&#x2F;tags&#x2F;site-news&#x2F;">Site News</a>
<a class="tags" href="&#x2F;tags&#x2F;sysroot&#x2F;">sysroot</a>
<a class="tags" href="&#x2F;tags&#x2F;systemd&#x2F;">Systemd</a>
<a class="tags" href="&#x2F;tags&#x2F;utilities&#x2F;">Utilities</a>
<a class="tags" href="&#x2F;tags&#x2F;web-programming&#x2F;">Web Programming</a>
<a class="tags" href="&#x2F;tags&#x2F;zola&#x2F;">Zola</a>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="&#x2F;news&#x2F;" class="mobile-nav-chapters previous" title="Previous page" aria-label="Previous page" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
</nav>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" class="nav-chapters previous" title="Previous page" aria-label="Previous page" aria-keyshortcuts="Left" href="&#x2F;news&#x2F;">
<i class="fa fa-angle-left"></i>
</a>
</nav>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="next" href="&#x2F;news&#x2F;page&#x2F;3&#x2F;" class="mobile-nav-chapters next" title="Next page" aria-label="Next page" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="next" class="nav-chapters next" title="Next page" aria-label="Next page" aria-keyshortcuts="Right" href="&#x2F;news&#x2F;page&#x2F;3&#x2F;">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</main>
</div>
</main>
</div>
</div>
</div>
<script>
(function themes() {
var html = document.querySelector('html');
var themeToggleButton = document.getElementById('theme-toggle');
var themePopup = document.getElementById('theme-list');
var themeColorMetaTag = document.querySelector('meta[name="theme-color"]');
var stylesheets = {
ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"),
tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"),
highlight: document.querySelector("[href$='highlight.css']"),
};
function showThemes() {
themePopup.style.display = 'block';
themeToggleButton.setAttribute('aria-expanded', true);
themePopup.querySelector("button#" + get_theme()).focus();
}
function hideThemes() {
themePopup.style.display = 'none';
themeToggleButton.setAttribute('aria-expanded', false);
themeToggleButton.focus();
}
function get_theme() {
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { }
if (theme === null || theme === undefined) {
return default_theme;
} else {
return theme;
}
}
function set_theme(theme, store = true) {
let ace_theme;
if (theme == 'coal' || theme == 'navy') {
stylesheets.ayuHighlight.disabled = true;
stylesheets.tomorrowNight.disabled = false;
stylesheets.highlight.disabled = true;
ace_theme = "ace/theme/tomorrow_night";
} else if (theme == 'ayu') {
stylesheets.ayuHighlight.disabled = false;
stylesheets.tomorrowNight.disabled = true;
stylesheets.highlight.disabled = true;
ace_theme = "ace/theme/tomorrow_night";
} else {
stylesheets.ayuHighlight.disabled = true;
stylesheets.tomorrowNight.disabled = true;
stylesheets.highlight.disabled = false;
ace_theme = "ace/theme/dawn";
}
setTimeout(function () {
themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor;
}, 1);
if (window.ace && window.editors) {
window.editors.forEach(function (editor) {
editor.setTheme(ace_theme);
});
}
var previousTheme = get_theme();
if (store) {
try { localStorage.setItem('mdbook-theme', theme); } catch (e) { }
}
html.classList.remove(previousTheme);
html.classList.add(theme);
}
// Set theme
var theme = get_theme();
set_theme(theme, false);
themeToggleButton.addEventListener('click', function () {
if (themePopup.style.display === 'block') {
hideThemes();
} else {
showThemes();
}
});
themePopup.addEventListener('click', function (e) {
var theme = e.target.id || e.target.parentElement.id;
set_theme(theme);
});
themePopup.addEventListener('focusout', function(e) {
// e.relatedTarget is null in Safari and Firefox on macOS (see workaround below)
if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) {
hideThemes();
}
});
// Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628
document.addEventListener('click', function(e) {
if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) {
hideThemes();
}
});
document.addEventListener('keydown', function (e) {
if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; }
if (!themePopup.contains(e.target)) { return; }
switch (e.key) {
case 'Escape':
e.preventDefault();
hideThemes();
break;
case 'ArrowUp':
e.preventDefault();
var li = document.activeElement.parentElement;
if (li && li.previousElementSibling) {
li.previousElementSibling.querySelector('button').focus();
}
break;
case 'ArrowDown':
e.preventDefault();
var li = document.activeElement.parentElement;
if (li && li.nextElementSibling) {
li.nextElementSibling.querySelector('button').focus();
}
break;
case 'Home':
e.preventDefault();
themePopup.querySelector('li:first-child button').focus();
break;
case 'End':
e.preventDefault();
themePopup.querySelector('li:last-child button').focus();
break;
}
});
})();
(function sidebar() {
var html = document.querySelector("html");
var sidebar = document.getElementById("sidebar");
var sidebarLinks = document.querySelectorAll('#sidebar a');
var sidebarToggleButton = document.getElementById("sidebar-toggle");
var sidebarResizeHandle = document.getElementById("sidebar-resize-handle");
var firstContact = null;
function showSidebar() {
html.classList.remove('sidebar-hidden')
html.classList.add('sidebar-visible');
Array.from(sidebarLinks).forEach(function (link) {
link.setAttribute('tabIndex', 0);
});
sidebarToggleButton.setAttribute('aria-expanded', true);
sidebar.setAttribute('aria-hidden', false);
try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { }
}
var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle');
function toggleSection(ev) {
ev.currentTarget.parentElement.classList.toggle('expanded');
}
Array.from(sidebarAnchorToggles).forEach(function (el) {
el.addEventListener('click', toggleSection);
});
function hideSidebar() {
html.classList.remove('sidebar-visible')
html.classList.add('sidebar-hidden');
Array.from(sidebarLinks).forEach(function (link) {
link.setAttribute('tabIndex', -1);
});
sidebarToggleButton.setAttribute('aria-expanded', false);
sidebar.setAttribute('aria-hidden', true);
try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { }
}
// Toggle sidebar
sidebarToggleButton.addEventListener('click', function sidebarToggle() {
if (html.classList.contains("sidebar-hidden")) {
var current_width = parseInt(
document.documentElement.style.getPropertyValue('--sidebar-width'), 10);
if (current_width < 150) {
document.documentElement.style.setProperty('--sidebar-width', '150px');
}
showSidebar();
} else if (html.classList.contains("sidebar-visible")) {
hideSidebar();
} else {
if (getComputedStyle(sidebar)['transform'] === 'none') {
hideSidebar();
} else {
showSidebar();
}
}
});
sidebarResizeHandle.addEventListener('mousedown', initResize, false);
function initResize(e) {
window.addEventListener('mousemove', resize, false);
window.addEventListener('mouseup', stopResize, false);
html.classList.add('sidebar-resizing');
}
function resize(e) {
var pos = (e.clientX - sidebar.offsetLeft);
if (pos < 20) {
hideSidebar();
} else {
if (html.classList.contains("sidebar-hidden")) {
showSidebar();
}
pos = Math.min(pos, window.innerWidth - 100);
document.documentElement.style.setProperty('--sidebar-width', pos + 'px');
}
}
//on mouseup remove windows functions mousemove & mouseup
function stopResize(e) {
html.classList.remove('sidebar-resizing');
window.removeEventListener('mousemove', resize, false);
window.removeEventListener('mouseup', stopResize, false);
}
document.addEventListener('touchstart', function (e) {
firstContact = {
x: e.touches[0].clientX,
time: Date.now()
};
}, { passive: true });
document.addEventListener('touchmove', function (e) {
if (!firstContact)
return;
var curX = e.touches[0].clientX;
var xDiff = curX - firstContact.x,
tDiff = Date.now() - firstContact.time;
if (tDiff < 250 && Math.abs(xDiff) >= 150) {
if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300))
showSidebar();
else if (xDiff < 0 && curX < 300)
hideSidebar();
firstContact = null;
}
}, { passive: true });
// Scroll sidebar to current active section
var activeSection = document.getElementById("sidebar").querySelector(".active");
if (activeSection) {
// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
activeSection.scrollIntoView({ block: 'center' });
}
})();
</script>
</body>
</html>