<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" encoding="UTF-8" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:fireside="http://fireside.fm/modules/rss/fireside">
  <channel>
    <fireside:hostname>web02.fireside.fm</fireside:hostname>
    <fireside:genDate>Thu, 05 Mar 2026 20:38:42 -0600</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Porting”</title>
    <link>https://www.bsdnow.tv/tags/porting</link>
    <pubDate>Thu, 25 Apr 2024 08:00:00 -0400</pubDate>
    <description>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros.
The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day. 
</description>
    <language>en-us</language>
    <itunes:type>episodic</itunes:type>
    <itunes:subtitle>A weekly podcast and the place to B...SD</itunes:subtitle>
    <itunes:author>JT Pennington</itunes:author>
    <itunes:summary>Created by three guys who love BSD, we cover the latest news and have an extensive series of tutorials, as well as interviews with various people from all areas of the BSD community. It also serves as a platform for support and questions. We love and advocate FreeBSD, OpenBSD, NetBSD, DragonFlyBSD and TrueOS. Our show aims to be helpful and informative for new users that want to learn about them, but still be entertaining for the people who are already pros.
The show airs on Wednesdays at 2:00PM (US Eastern time) and the edited version is usually up the following day. 
</itunes:summary>
    <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
    <itunes:explicit>no</itunes:explicit>
    <itunes:keywords>berkeley,freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview</itunes:keywords>
    <itunes:owner>
      <itunes:name>JT Pennington</itunes:name>
      <itunes:email>feedback@bsdnow.tv</itunes:email>
    </itunes:owner>
<itunes:category text="News">
  <itunes:category text="Tech News"/>
</itunes:category>
<itunes:category text="Education">
  <itunes:category text="How To"/>
</itunes:category>
<item>
  <title>556: Cozy OpenBSD</title>
  <link>https://www.bsdnow.tv/556</link>
  <guid isPermaLink="false">92703554-9e85-425e-ac8a-a5d5aa0cc9c4</guid>
  <pubDate>Thu, 25 Apr 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/92703554-9e85-425e-ac8a-a5d5aa0cc9c4.mp3" length="51666816" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD is a Cozy Operating System, Lichee Console 4A - RISC-V mini laptop, Lessons learned with XZ vulnerability, Techies vs spies: the xz backdoor debate, Not Not Porting 9front to Power64, One less Un\*xy option for 32-bit PowerPC, and more</itunes:subtitle>
  <itunes:duration>53:49</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>OpenBSD is a Cozy Operating System, Lichee Console 4A - RISC-V mini laptop, Lessons learned with XZ vulnerability, Techies vs spies: the xz backdoor debate, Not Not Porting 9front to Power64, One less Un*xy option for 32-bit PowerPC, and more
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/bsdnow) and the BSDNow Patreon (https://www.patreon.com/bsdnow)
Headlines
OpenBSD is a Cozy Operating System (https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/)
Lichee Console 4A - RISC-V mini laptop (https://3.14.by/en/read/RISC-V-Sipeed-Lichee-Console-4A-Alibaba-T-Head-TH1520-review)
News Roundup
Lessons learned with XZ vulnerability (https://dataswamp.org/~solene/2024-03-30-lessons-learned-xz-vuln.html)
Techies vs spies: the xz backdoor debate (https://lcamtuf.substack.com/p/technologist-vs-spy-the-xz-backdoor)
Not Not Porting 9front to Power64 (https://posixcafe.org/blogs/2024/04/03/0/)
One less Un*xy option for 32-bit PowerPC (http://tenfourfox.blogspot.com/2024/02/one-less-unxy-option-for-32-bit-powerpc.html)
Beastie Bits
20 years since... (https://undeadly.org/cgi?action=article;sid=20240409044953)
Jails PDFs (https://cdn.gyptazy.ch/files/docs/freebsd/jails/)
NixOS BSD (https://github.com/nixos-bsd/nixbsd)
rigg - run indie games on OpenBSD (https://www.reddit.com/r/openbsd_gaming/comments/1bb9wle/rigg_10_released_a_new_way_to_run_indie_games_on/)
pkgsrc 2024Q1 (https://mail-index.netbsd.org/netbsd-announce/2024/04/04/msg000370.html)
PackMule (https://badland.io/packmule.md)
AcephalOS - A new FreeBSD image build tool (https://codeberg.org/San_Bernadino_Operation/AcephalOS_image_build_system)
Tarsnap
This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
Join us and other BSD Fans in our BSD Now Telegram channel (https://t.me/bsdnow)
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, open source, foss, shell, cli, unix, tools, utility, berkeley, software, distribution, development, code, programming, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, risc-v mini, xz vulnerability, techies, spies, backdoor, debate, 9front, power64, porting, 32-bit, powerpc</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD is a Cozy Operating System, Lichee Console 4A - RISC-V mini laptop, Lessons learned with XZ vulnerability, Techies vs spies: the xz backdoor debate, Not Not Porting 9front to Power64, One less Un*xy option for 32-bit PowerPC, and more</p>

<p><strong><em>NOTES</em></strong></p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/" rel="nofollow">OpenBSD is a Cozy Operating System</a></p>

<hr>

<p><a href="https://3.14.by/en/read/RISC-V-Sipeed-Lichee-Console-4A-Alibaba-T-Head-TH1520-review" rel="nofollow">Lichee Console 4A - RISC-V mini laptop</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-03-30-lessons-learned-xz-vuln.html" rel="nofollow">Lessons learned with XZ vulnerability</a></p>

<hr>

<p><a href="https://lcamtuf.substack.com/p/technologist-vs-spy-the-xz-backdoor" rel="nofollow">Techies vs spies: the xz backdoor debate</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/04/03/0/" rel="nofollow">Not Not Porting 9front to Power64</a></p>

<hr>

<p><a href="http://tenfourfox.blogspot.com/2024/02/one-less-unxy-option-for-32-bit-powerpc.html" rel="nofollow">One less Un*xy option for 32-bit PowerPC</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20240409044953" rel="nofollow">20 years since...</a></li>
<li><a href="https://cdn.gyptazy.ch/files/docs/freebsd/jails/" rel="nofollow">Jails PDFs</a></li>
<li><a href="https://github.com/nixos-bsd/nixbsd" rel="nofollow">NixOS BSD</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/1bb9wle/rigg_10_released_a_new_way_to_run_indie_games_on/" rel="nofollow">rigg - run indie games on OpenBSD</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-announce/2024/04/04/msg000370.html" rel="nofollow">pkgsrc 2024Q1</a></li>
<li><a href="https://badland.io/packmule.md" rel="nofollow">PackMule</a></li>
<li><a href="https://codeberg.org/San_Bernadino_Operation/AcephalOS_image_build_system" rel="nofollow">AcephalOS - A new FreeBSD image build tool</a></li>
</ul>

<hr>

<h2>Tarsnap</h2>

<p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p>

<hr>

<ul>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD is a Cozy Operating System, Lichee Console 4A - RISC-V mini laptop, Lessons learned with XZ vulnerability, Techies vs spies: the xz backdoor debate, Not Not Porting 9front to Power64, One less Un*xy option for 32-bit PowerPC, and more</p>

<p><strong><em>NOTES</em></strong></p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/" rel="nofollow">OpenBSD is a Cozy Operating System</a></p>

<hr>

<p><a href="https://3.14.by/en/read/RISC-V-Sipeed-Lichee-Console-4A-Alibaba-T-Head-TH1520-review" rel="nofollow">Lichee Console 4A - RISC-V mini laptop</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-03-30-lessons-learned-xz-vuln.html" rel="nofollow">Lessons learned with XZ vulnerability</a></p>

<hr>

<p><a href="https://lcamtuf.substack.com/p/technologist-vs-spy-the-xz-backdoor" rel="nofollow">Techies vs spies: the xz backdoor debate</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/04/03/0/" rel="nofollow">Not Not Porting 9front to Power64</a></p>

<hr>

<p><a href="http://tenfourfox.blogspot.com/2024/02/one-less-unxy-option-for-32-bit-powerpc.html" rel="nofollow">One less Un*xy option for 32-bit PowerPC</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20240409044953" rel="nofollow">20 years since...</a></li>
<li><a href="https://cdn.gyptazy.ch/files/docs/freebsd/jails/" rel="nofollow">Jails PDFs</a></li>
<li><a href="https://github.com/nixos-bsd/nixbsd" rel="nofollow">NixOS BSD</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/1bb9wle/rigg_10_released_a_new_way_to_run_indie_games_on/" rel="nofollow">rigg - run indie games on OpenBSD</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-announce/2024/04/04/msg000370.html" rel="nofollow">pkgsrc 2024Q1</a></li>
<li><a href="https://badland.io/packmule.md" rel="nofollow">PackMule</a></li>
<li><a href="https://codeberg.org/San_Bernadino_Operation/AcephalOS_image_build_system" rel="nofollow">AcephalOS - A new FreeBSD image build tool</a></li>
</ul>

<hr>

<h2>Tarsnap</h2>

<p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p>

<hr>

<ul>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>437: Audit that package</title>
  <link>https://www.bsdnow.tv/437</link>
  <guid isPermaLink="false">3e7f064f-6f8f-49ee-a2e6-6300007b7a88</guid>
  <pubDate>Thu, 13 Jan 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3e7f064f-6f8f-49ee-a2e6-6300007b7a88.mp3" length="24973752" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Using FreeBSD’s pkg-audit, 20 year old bug that went to Mars, FreeBSD on Slimbook, LLDB FreeBSD kernel core dump support, Steam on OpenBSD, Cool but obscure X11 tools, and more 
</itunes:subtitle>
  <itunes:duration>41:03</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description> Using FreeBSD’s pkg-audit, 20 year old bug that went to Mars, FreeBSD on Slimbook, LLDB FreeBSD kernel core dump support, Steam on OpenBSD, Cool but obscure X11 tools, and more 
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/bsdnow) and the BSDNow Patreon (https://www.patreon.com/bsdnow)
Headlines
Using FreeBSD’s pkg-audit (https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/)
The 20 year old bug that went to Mars (http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html)
It's rare that you come across a bug so subtle that it can last for two decades. But, that's exactly what has happened with the Lempel-Ziv-Oberhumer (LZO) algorithm. Initially written in 1994, Markus Oberhumer designed a sophisticated and extremely efficient compression algorithm so elegant and well architected that it outperforms zlib and bzip by four or five times their decompression speed.
I was impressed to find out that his LZO algorithm has gone to the planet Mars on NASA devices multiple times! Most recently, LZO has touched down on the red planet within the Mars Curiosity Rover, which just celebrated its first martian anniversary on Tuesday.
In the past few years, LZO has gained traction in file systems as well. LZO can be used in the Linux kernel within btrfs, squashfs, jffs2, and ubifs. A recent variant of the algorithm, LZ4, is used for compression in ZFS for Solaris, Illumos, and FreeBSD.
With its popularity increasing, Lempel-Ziv-Oberhumer has been rewritten by many engineering firms for both closed and open systems. These rewrites, however, have always been based on Oberhumer's core open source implementation. As a result, they all inherited a subtle integer overflow. Even LZ4 has the same exact bug, but changed very slightly.
Because the LZO algorithm is considered a library function, each specific implementation must be evaluated for risk, regardless of whether the algorithm used has been patched. Why? We are talking about code that has existed in the wild for two decades. The scope of this algorithm touches everything from embedded microcontrollers on the Mars Rover, mainframe operating systems, modern day desktops, and mobile phones. Engineers that have used LZO must evaluate the use case to identify whether or not the implementation is vulnerable, and in what format.
News Roundup
FreeBSD on Slimbook -- 14 months of updates (https://euroquis.nl/freebsd/2021/12/11/slimbook.html)
LLDB FreeBSD kernel core dump support (https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/)
Steam on OpenBSD (https://dataswamp.org/~solene/2021-12-01-openbsd-steam.html)
Beastie Bits
• [OpenSSH Agent Restriction](http://undeadly.org/cgi?action=article;sid=20211220061017)
• [OpenBSD’s Clang upgraded to version 13](http://undeadly.org/cgi?action=article;sid=20211220060327)
• [Cool, but obscure X11 tools](http://cyber.dabamos.de/unix/x11/)
Tarsnap
This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, ports, packages, pkg-audit, security, auditing, bug, mars, slimbook, porting, port, lldb, kernel core dump, dump support, steam, games, gaming, obscure, x11 tools</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Using FreeBSD’s pkg-audit, 20 year old bug that went to Mars, FreeBSD on Slimbook, LLDB FreeBSD kernel core dump support, Steam on OpenBSD, Cool but obscure X11 tools, and more </p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/" rel="nofollow">Using FreeBSD’s pkg-audit</a></h3>

<hr>

<h3><a href="http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html" rel="nofollow">The 20 year old bug that went to Mars</a></h3>

<blockquote>
<p>It&#39;s rare that you come across a bug so subtle that it can last for two decades. But, that&#39;s exactly what has happened with the Lempel-Ziv-Oberhumer (LZO) algorithm. Initially written in 1994, Markus Oberhumer designed a sophisticated and extremely efficient compression algorithm so elegant and well architected that it outperforms zlib and bzip by four or five times their decompression speed.</p>

<p>I was impressed to find out that his LZO algorithm has gone to the planet Mars on NASA devices multiple times! Most recently, LZO has touched down on the red planet within the Mars Curiosity Rover, which just celebrated its first martian anniversary on Tuesday.</p>

<p>In the past few years, LZO has gained traction in file systems as well. LZO can be used in the Linux kernel within btrfs, squashfs, jffs2, and ubifs. A recent variant of the algorithm, LZ4, is used for compression in ZFS for Solaris, Illumos, and FreeBSD.</p>

<p>With its popularity increasing, Lempel-Ziv-Oberhumer has been rewritten by many engineering firms for both closed and open systems. These rewrites, however, have always been based on Oberhumer&#39;s core open source implementation. As a result, they all inherited a subtle integer overflow. Even LZ4 has the same exact bug, but changed very slightly.</p>

<p>Because the LZO algorithm is considered a library function, each specific implementation must be evaluated for risk, regardless of whether the algorithm used has been patched. Why? We are talking about code that has existed in the wild for two decades. The scope of this algorithm touches everything from embedded microcontrollers on the Mars Rover, mainframe operating systems, modern day desktops, and mobile phones. Engineers that have used LZO must evaluate the use case to identify whether or not the implementation is vulnerable, and in what format.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2021/12/11/slimbook.html" rel="nofollow">FreeBSD on Slimbook -- 14 months of updates</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/" rel="nofollow">LLDB FreeBSD kernel core dump support</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-12-01-openbsd-steam.html" rel="nofollow">Steam on OpenBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenSSH Agent Restriction](http://undeadly.org/cgi?action=article;sid=20211220061017)
• [OpenBSD’s Clang upgraded to version 13](http://undeadly.org/cgi?action=article;sid=20211220060327)
• [Cool, but obscure X11 tools](http://cyber.dabamos.de/unix/x11/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li><p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Using FreeBSD’s pkg-audit, 20 year old bug that went to Mars, FreeBSD on Slimbook, LLDB FreeBSD kernel core dump support, Steam on OpenBSD, Cool but obscure X11 tools, and more </p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/" rel="nofollow">Using FreeBSD’s pkg-audit</a></h3>

<hr>

<h3><a href="http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html" rel="nofollow">The 20 year old bug that went to Mars</a></h3>

<blockquote>
<p>It&#39;s rare that you come across a bug so subtle that it can last for two decades. But, that&#39;s exactly what has happened with the Lempel-Ziv-Oberhumer (LZO) algorithm. Initially written in 1994, Markus Oberhumer designed a sophisticated and extremely efficient compression algorithm so elegant and well architected that it outperforms zlib and bzip by four or five times their decompression speed.</p>

<p>I was impressed to find out that his LZO algorithm has gone to the planet Mars on NASA devices multiple times! Most recently, LZO has touched down on the red planet within the Mars Curiosity Rover, which just celebrated its first martian anniversary on Tuesday.</p>

<p>In the past few years, LZO has gained traction in file systems as well. LZO can be used in the Linux kernel within btrfs, squashfs, jffs2, and ubifs. A recent variant of the algorithm, LZ4, is used for compression in ZFS for Solaris, Illumos, and FreeBSD.</p>

<p>With its popularity increasing, Lempel-Ziv-Oberhumer has been rewritten by many engineering firms for both closed and open systems. These rewrites, however, have always been based on Oberhumer&#39;s core open source implementation. As a result, they all inherited a subtle integer overflow. Even LZ4 has the same exact bug, but changed very slightly.</p>

<p>Because the LZO algorithm is considered a library function, each specific implementation must be evaluated for risk, regardless of whether the algorithm used has been patched. Why? We are talking about code that has existed in the wild for two decades. The scope of this algorithm touches everything from embedded microcontrollers on the Mars Rover, mainframe operating systems, modern day desktops, and mobile phones. Engineers that have used LZO must evaluate the use case to identify whether or not the implementation is vulnerable, and in what format.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2021/12/11/slimbook.html" rel="nofollow">FreeBSD on Slimbook -- 14 months of updates</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/" rel="nofollow">LLDB FreeBSD kernel core dump support</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-12-01-openbsd-steam.html" rel="nofollow">Steam on OpenBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenSSH Agent Restriction](http://undeadly.org/cgi?action=article;sid=20211220061017)
• [OpenBSD’s Clang upgraded to version 13](http://undeadly.org/cgi?action=article;sid=20211220060327)
• [Cool, but obscure X11 tools](http://cyber.dabamos.de/unix/x11/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li><p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>424: Unveiling OpenBSD’s pledge</title>
  <link>https://www.bsdnow.tv/424</link>
  <guid isPermaLink="false">6f778bcb-d4a7-469d-9ec2-8fed7fbe93a1</guid>
  <pubDate>Thu, 14 Oct 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6f778bcb-d4a7-469d-9ec2-8fed7fbe93a1.mp3" length="30778248" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>J language working on OpenBSD, Comparing FreeBSD GELI and OpenZFS encrypted pools, What is FreeBSD, actually?, OpenBSD's pledge and unveil from Python, and more.</itunes:subtitle>
  <itunes:duration>49:41</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>J language working on OpenBSD, Comparing FreeBSD GELI and OpenZFS encrypted pools, What is FreeBSD, actually?, OpenBSD's pledge and unveil from Python, and more.
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/bsdnow)
Headlines
I got the J language working on OpenBSD (https://briancallahan.net/blog/20210911.html)
Rubenerd: Comparing FreeBSD GELI and OpenZFS encrypted pools with keys (https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/)
News Roundup
What is FreeBSD, actually? Think again. (https://medium.com/@probonopd/what-is-freebsd-actually-think-again-200c2752d026)
OpenBSD's pledge and unveil from Python (https://nullprogram.com/blog/2021/09/15/)
Beastie Bits
• [Hibernate time reduced](http://undeadly.org/cgi?action=article;sid=20210831050932)
• [(open)rsync gains include/exclude support](http://undeadly.org/cgi?action=article;sid=20210830081715)
• [Producer JT's latest ancient find that he needs help with](https://twitter.com/q5sys/status/1440105555754848257)
• [Doas comes to MidnightBSD](https://github.com/slicer69/doas)
• [FreeBSD SSH Hardening](https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11)
• [OpenBSD 6.8 and you](https://home.nuug.no/~peter/openbsd_and_you/#1)
• [By default, scp(1) now uses SFTP protocol](https://undeadly.org/cgi?action=article;sid=20210910074941)
• [FreeBSD 11.4 end-of-life](https://lists.freebsd.org/pipermail/freebsd-announce/2021-September/002060.html)
• [sched_ule(4): Improve long-term load balancer](https://cgit.freebsd.org/src/commit/?id=e745d729be60a47b49eb19c02a6864a747fb2744)
Tarsnap
This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, ports, packages, j language, porting, language port, comparing, comparison, geli, full disk encryption, encryption, pledge, unveil, python   </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>J language working on OpenBSD, Comparing FreeBSD GELI and OpenZFS encrypted pools, What is FreeBSD, actually?, OpenBSD&#39;s pledge and unveil from Python, and more.</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://briancallahan.net/blog/20210911.html" rel="nofollow">I got the J language working on OpenBSD</a></h3>

<hr>

<h3><a href="https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/" rel="nofollow">Rubenerd: Comparing FreeBSD GELI and OpenZFS encrypted pools with keys</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://medium.com/@probonopd/what-is-freebsd-actually-think-again-200c2752d026" rel="nofollow">What is FreeBSD, actually? Think again.</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2021/09/15/" rel="nofollow">OpenBSD&#39;s pledge and unveil from Python</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Hibernate time reduced](http://undeadly.org/cgi?action=article;sid=20210831050932)
• [(open)rsync gains include/exclude support](http://undeadly.org/cgi?action=article;sid=20210830081715)
• [Producer JT&#39;s latest ancient find that he needs help with](https://twitter.com/q5sys/status/1440105555754848257)
• [Doas comes to MidnightBSD](https://github.com/slicer69/doas)
• [FreeBSD SSH Hardening](https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11)
• [OpenBSD 6.8 and you](https://home.nuug.no/~peter/openbsd_and_you/#1)
• [By default, scp(1) now uses SFTP protocol](https://undeadly.org/cgi?action=article;sid=20210910074941)
• [FreeBSD 11.4 end-of-life](https://lists.freebsd.org/pipermail/freebsd-announce/2021-September/002060.html)
• [sched_ule(4): Improve long-term load balancer](https://cgit.freebsd.org/src/commit/?id=e745d729be60a47b49eb19c02a6864a747fb2744)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li><p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>J language working on OpenBSD, Comparing FreeBSD GELI and OpenZFS encrypted pools, What is FreeBSD, actually?, OpenBSD&#39;s pledge and unveil from Python, and more.</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" rel="nofollow">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://briancallahan.net/blog/20210911.html" rel="nofollow">I got the J language working on OpenBSD</a></h3>

<hr>

<h3><a href="https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/" rel="nofollow">Rubenerd: Comparing FreeBSD GELI and OpenZFS encrypted pools with keys</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://medium.com/@probonopd/what-is-freebsd-actually-think-again-200c2752d026" rel="nofollow">What is FreeBSD, actually? Think again.</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2021/09/15/" rel="nofollow">OpenBSD&#39;s pledge and unveil from Python</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Hibernate time reduced](http://undeadly.org/cgi?action=article;sid=20210831050932)
• [(open)rsync gains include/exclude support](http://undeadly.org/cgi?action=article;sid=20210830081715)
• [Producer JT&#39;s latest ancient find that he needs help with](https://twitter.com/q5sys/status/1440105555754848257)
• [Doas comes to MidnightBSD](https://github.com/slicer69/doas)
• [FreeBSD SSH Hardening](https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11)
• [OpenBSD 6.8 and you](https://home.nuug.no/~peter/openbsd_and_you/#1)
• [By default, scp(1) now uses SFTP protocol](https://undeadly.org/cgi?action=article;sid=20210910074941)
• [FreeBSD 11.4 end-of-life](https://lists.freebsd.org/pipermail/freebsd-announce/2021-September/002060.html)
• [sched_ule(4): Improve long-term load balancer](https://cgit.freebsd.org/src/commit/?id=e745d729be60a47b49eb19c02a6864a747fb2744)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li><p>This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.</p></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>320: Codebase: Neck Deep</title>
  <link>https://www.bsdnow.tv/320</link>
  <guid isPermaLink="false">11b9f24e-1789-4328-8396-4b9654aa2dfc</guid>
  <pubDate>Wed, 16 Oct 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/11b9f24e-1789-4328-8396-4b9654aa2dfc.mp3" length="40815513" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on the Google Pixelbook, Porting NetBSD to the AMD x86-64, ZFS performance really does degrade as you approach quota limits, Fixing up KA9Q-unix, HAMMER2 and fsck for review, the return of startx(1) for non-root users, and more.</itunes:subtitle>
  <itunes:duration>56:41</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>Headlines
FreeBSD and custom firmware on the Google Pixelbook (https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook)
FreeBSD and custom firmware on the Google Pixelbook
Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..
lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);
with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);
with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);
with USB-C ports;
without a dGPU, especially without an NVIDIA GPU;
assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);
supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);
how about something with open source firmware, that would be fun.
I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!
And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).
So here it is, my new laptop, a Google Pixelbook.
Conclusion
Pixelbook, FreeBSD, coreboot, EDK2 good.
Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)
Porting NetBSD to the AMD x86-64: a case study in OS portability (https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html)
Abstract
NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.
Portability
Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.
General
Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.
Types
Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32t, int8t, etc.
Conclusions and future work
The port of NetBSD to AMD's x86-64 architecture was done in six weeks, which confirms NetBSD's reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.
News Roundup
ZFS performance really does degrade as you approach quota limits (https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSFullQuotaPerformanceIssue)
Every so often (currently monthly), there is an "OpenZFS leadership meeting". What this really means is 'lead developers from the various ZFS implementations get together to talk about things'. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. 
In the September meeting notes, I read a very interesting (to me) agenda item: 
Relax quota semantics for improved performance (Allan Jude)
Problem: As you approach quotas, ZFS performance degrades.
Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.
This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It's nice to know that this wasn't just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).
Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren't willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don't know if there's anything we can do, but at least we're going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what's going on at the ZFS level to cause the slowdown. (It's apparently similar to what happens when the pool is almost full, but I don't know the specifics of that either.)
With that said, we don't seem to have seen clear adverse effects on our Linux fileservers, and they've definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven't been looking closely enough to see that we're experiencing global slowdowns that correlate to filesystems hitting quota limits. We've had issues before with somewhat subtle slowdowns that we didn't understand (cf), so I can't discount that we're having it happen again.
Fixing up KA9Q-unix, or "neck deep in 30 year old codebases.." (http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html)
I'll preface this by saying - yes, I'm still neck deep in FreeBSD's wifi stack and 802.11ac support, but it turns out it's slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I'll .. get there.
Anyhoo, I've finally been mucking around with AX.25 packet radio. I've been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn't have my amateur radio licence. But, now I do, and I've done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.
So yes, I was avoiding hacking on AX.25 stuff because there wasn't a BSD compatible AX.25 stack. I'm 40 now, leave me be.
But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!
I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.
HAMMER2 and fsck for review (https://www.dragonflydigest.com/2019/09/24/23540.html)
HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.
[The return of startx(1) for non-root users with some caveats (https://undeadly.org/cgi?action=article;sid=20190917091236)
Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:
```
CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41
Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 
Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.
ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08
Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 
Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.
This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).
ok jsg@, matthieu@
```
Beastie Bits
ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal? (https://bestasciitable.com/)
Sourcehut makes BSD software better (https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/)
Chaosnet for Unx (https://github.com/LM-3/chaos)
The Vim-Inspired Editor with a Linguistic Twist (https://cosine.blue/2019-09-06-kakoune.html)
bhyvearm64: CPU and Memory Virtualization on Armv8.0-A (https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/)
DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities (https://www.youtube.com/watch?v=a2m56Yq-EIs)
Feedback/Questions
Tim - GSoC project ideas for pf rule syntax translation (http://dpaste.com/1RCSFK7#wrap)
Brad - Steam on FreeBSD (http://dpaste.com/2SKA9YB#wrap)
Ruslan - FreeBSD Quarterly Status Report - Q2 2019 (http://dpaste.com/0DQM3Q1)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)

    
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, google pixelbook, pixelbook, case study, portability, porting, zfs, zfs performance, performance, quota, quota limits, zfs quota, ka9q, unix, hammer2, fsck, startx</itunes:keywords>
  <content:encoded>
    <![CDATA[<h2>Headlines</h2>

<h3><a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" rel="nofollow">FreeBSD and custom firmware on the Google Pixelbook</a></h3>

<ul>
<li>FreeBSD and custom firmware on the Google Pixelbook</li>
</ul>

<blockquote>
<p>Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..</p>
</blockquote>

<ul>
<li>lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);</li>
<li>with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);</li>
<li>with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);</li>
<li>with USB-C ports;</li>
<li>without a dGPU, especially without an NVIDIA GPU;</li>
<li>assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);</li>
<li>supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);</li>
<li>how about something with open source firmware, that would be fun.</li>
</ul>

<blockquote>
<p>I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!</p>

<p>And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).</p>

<p>So here it is, my new laptop, a Google Pixelbook.</p>
</blockquote>

<ul>
<li>Conclusion</li>
</ul>

<blockquote>
<p>Pixelbook, FreeBSD, coreboot, EDK2 good.</p>

<p>Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)</p>
</blockquote>

<hr>

<h3><a href="https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html" rel="nofollow">Porting NetBSD to the AMD x86-64: a case study in OS portability</a></h3>

<ul>
<li>Abstract</li>
</ul>

<blockquote>
<p>NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.</p>
</blockquote>

<ul>
<li>Portability</li>
</ul>

<blockquote>
<p>Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.</p>
</blockquote>

<ul>
<li>General</li>
</ul>

<blockquote>
<p>Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.</p>
</blockquote>

<ul>
<li>Types</li>
</ul>

<blockquote>
<p>Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32_t, int8_t, etc.</p>
</blockquote>

<ul>
<li>Conclusions and future work</li>
</ul>

<blockquote>
<p>The port of NetBSD to AMD&#39;s x86-64 architecture was done in six weeks, which confirms NetBSD&#39;s reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" rel="nofollow">ZFS performance really does degrade as you approach quota limits</a></h3>

<blockquote>
<p>Every so often (currently monthly), there is an &quot;OpenZFS leadership meeting&quot;. What this really means is &#39;lead developers from the various ZFS implementations get together to talk about things&#39;. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. </p>
</blockquote>

<ul>
<li>In the September meeting notes, I read a very interesting (to me) agenda item: 

<ul>
<li>Relax quota semantics for improved performance (Allan Jude)</li>
<li>Problem: As you approach quotas, ZFS performance degrades.</li>
<li>Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.</li>
</ul></li>
</ul>

<blockquote>
<p>This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It&#39;s nice to know that this wasn&#39;t just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).</p>

<p>Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren&#39;t willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don&#39;t know if there&#39;s anything we can do, but at least we&#39;re going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what&#39;s going on at the ZFS level to cause the slowdown. (It&#39;s apparently similar to what happens when the pool is almost full, but I don&#39;t know the specifics of that either.)</p>

<p>With that said, we don&#39;t seem to have seen clear adverse effects on our Linux fileservers, and they&#39;ve definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven&#39;t been looking closely enough to see that we&#39;re experiencing global slowdowns that correlate to filesystems hitting quota limits. We&#39;ve had issues before with somewhat subtle slowdowns that we didn&#39;t understand (cf), so I can&#39;t discount that we&#39;re having it happen again.</p>
</blockquote>

<hr>

<h3><a href="http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html" rel="nofollow">Fixing up KA9Q-unix, or &quot;neck deep in 30 year old codebases..&quot;</a></h3>

<blockquote>
<p>I&#39;ll preface this by saying - yes, I&#39;m still neck deep in FreeBSD&#39;s wifi stack and 802.11ac support, but it turns out it&#39;s slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I&#39;ll .. get there.</p>

<p>Anyhoo, I&#39;ve finally been mucking around with AX.25 packet radio. I&#39;ve been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn&#39;t have my amateur radio licence. But, now I do, and I&#39;ve done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.</p>

<p>So yes, I was avoiding hacking on AX.25 stuff because there wasn&#39;t a BSD compatible AX.25 stack. I&#39;m 40 now, leave me be.</p>

<p>But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!</p>

<p>I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" rel="nofollow">HAMMER2 and fsck for review</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<hr>

<h3>[The return of startx(1) for non-root users <a href="https://undeadly.org/cgi?action=article;sid=20190917091236" rel="nofollow">with some caveats</a></h3>

<p>Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:</p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41

Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 

Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.

ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08

Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 

Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.

This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).

ok jsg@, matthieu@
</code></pre>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bestasciitable.com/" rel="nofollow">ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal?</a></li>
<li><a href="https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/" rel="nofollow">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" rel="nofollow">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" rel="nofollow">The Vim-Inspired Editor with a Linguistic Twist</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/" rel="nofollow">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" rel="nofollow">DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/1RCSFK7#wrap" rel="nofollow">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" rel="nofollow">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" rel="nofollow">FreeBSD Quarterly Status Report - Q2 2019</a></li>
</ul>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<h2>Headlines</h2>

<h3><a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" rel="nofollow">FreeBSD and custom firmware on the Google Pixelbook</a></h3>

<ul>
<li>FreeBSD and custom firmware on the Google Pixelbook</li>
</ul>

<blockquote>
<p>Back in 2015, I jumped on the ThinkPad bandwagon by getting an X240 to run FreeBSD on. Unlike most people in the ThinkPad crowd, I actually liked the clickpad and didn\u2019t use the trackpoint much. But this summer I\u2019ve decided that it was time for something newer. I wanted something..</p>
</blockquote>

<ul>
<li>lighter and thinner (ha, turns out this is actually important, I got tired of carrying a T H I C C laptop - Apple was right all along);</li>
<li>with a 3:2 display (why is Lenovo making these Serious Work\u2122 laptops 16:9 in the first place?? 16:9 is awful in below-13-inch sizes especially);</li>
<li>with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);</li>
<li>with USB-C ports;</li>
<li>without a dGPU, especially without an NVIDIA GPU;</li>
<li>assembled with screws and not glue (I don\u2019t necessarily need expansion and stuff in a laptop all that much, but being able to replace the battery without dealing with a glued chassis is good);</li>
<li>supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);</li>
<li>how about something with open source firmware, that would be fun.</li>
</ul>

<blockquote>
<p>I was considering a ThinkPad X1 Carbon from an old generation - the one from the same year as the X230 is corebootable, so that\u2019s fun. But going back in processor generations just doesn\u2019t feel great. I want something more efficient, not less!</p>

<p>And then I discovered the Pixelbook. Other than the big huge large bezels around the screen, I liked everything about it. Thin aluminum design, a 3:2 HiDPI screen, rubber palm rests (why isn\u2019t every laptop ever doing that?!), the \u201cconvertibleness\u201d (flip the screen around to turn it into.. something rather big for a tablet, but it is useful actually), a Wacom touchscreen that supports a pen, mostly reasonable hardware (Intel Wi-Fi), and that famous coreboot support (Chromebooks\u2019 stock firmware is coreboot + depthcharge).</p>

<p>So here it is, my new laptop, a Google Pixelbook.</p>
</blockquote>

<ul>
<li>Conclusion</li>
</ul>

<blockquote>
<p>Pixelbook, FreeBSD, coreboot, EDK2 good.</p>

<p>Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)</p>
</blockquote>

<hr>

<h3><a href="https://www.usenix.org/legacy/publications/library/proceedings/bsdcon02/full_papers/linden/linden_html/index.html" rel="nofollow">Porting NetBSD to the AMD x86-64: a case study in OS portability</a></h3>

<ul>
<li>Abstract</li>
</ul>

<blockquote>
<p>NetBSD is known as a very portable operating system, currently running on 44 different architectures (12 different types of CPU). This paper takes a look at what has been done to make it portable, and how this has decreased the amount of effort needed to port NetBSD to a new architecture. The new AMD x86-64 architecture, of which the specifications were published at the end of 2000, with hardware to follow in 2002, is used as an example.</p>
</blockquote>

<ul>
<li>Portability</li>
</ul>

<blockquote>
<p>Supporting multiple platforms was a primary goal of the NetBSD project from the start. As NetBSD was ported to more and more platforms, the NetBSD kernel code was adapted to become more portable along the way.</p>
</blockquote>

<ul>
<li>General</li>
</ul>

<blockquote>
<p>Generally, code is shared between ports as much as possible. In NetBSD, it should always be considered if the code can be assumed to be useful on other architectures, present or future. If so, it is machine-independent and put it in an appropriate place in the source tree. When writing code that is intended to be machine-independent, and it contains conditional preprocessor statements depending on the architecture, then the code is likely wrong, or an extra abstraction layer is needed to get rid of these statements.</p>
</blockquote>

<ul>
<li>Types</li>
</ul>

<blockquote>
<p>Assumptions about the size of any type are not made. Assumptions made about type sizes on 32-bit platforms were a large problem when 64-bit platforms came around. Most of the problems of this kind had to be dealt with when NetBSD was ported to the DEC Alpha in 1994. A variation on this problem had to be dealt with with the UltraSPARC (sparc64) port in 1998, which is 64-bit, but big endian (vs. the little-endianness of the Alpha). When interacting with datastructures of a fixed size, such as on-disk metadata for filesystems, or datastructures directly interpreted by device hardware, explicitly sized types are used, such as uint32_t, int8_t, etc.</p>
</blockquote>

<ul>
<li>Conclusions and future work</li>
</ul>

<blockquote>
<p>The port of NetBSD to AMD&#39;s x86-64 architecture was done in six weeks, which confirms NetBSD&#39;s reputation as being a very portable operating system. One week was spent setting up the cross-toolchain and reading the x86-64 specifications, three weeks were spent writing the kernel code, one week was spent writing the userspace code, and one week testing and debugging it all. No problems were observed in any of the machine-independent parts of the kernel during test runs; all (simulated) device drivers, file systems, etc, worked without modification.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" rel="nofollow">ZFS performance really does degrade as you approach quota limits</a></h3>

<blockquote>
<p>Every so often (currently monthly), there is an &quot;OpenZFS leadership meeting&quot;. What this really means is &#39;lead developers from the various ZFS implementations get together to talk about things&#39;. Announcements and meeting notes from these meetings get sent out to various mailing lists, including the ZFS on Linux ones. </p>
</blockquote>

<ul>
<li>In the September meeting notes, I read a very interesting (to me) agenda item: 

<ul>
<li>Relax quota semantics for improved performance (Allan Jude)</li>
<li>Problem: As you approach quotas, ZFS performance degrades.</li>
<li>Proposal: Can we have a property like quota-policy=strict or loose, where we can optionally allow ZFS to run over the quota as long as performance is not decreased.</li>
</ul></li>
</ul>

<blockquote>
<p>This is very interesting to me because of two reasons. First, in the past we have definitely seen significant problems on our OmniOS machines, both when an entire pool hits a quota limit and when a single filesystem hits a refquota limit. It&#39;s nice to know that this wasn&#39;t just our imagination and that there is a real issue here. Even better, it might someday be improved (and perhaps in a way that we can use at least some of the time).</p>

<p>Second, any number of people here run very close to and sometimes at the quota limits of both filesystems and pools, fundamentally because people aren&#39;t willing to buy more space. We have in the past assumed that this was relatively harmless and would only make people run out of space. If this is a known issue that causes serious performance degradation, well, I don&#39;t know if there&#39;s anything we can do, but at least we&#39;re going to have to think about it and maybe push harder at people. The first step will have to be learning the details of what&#39;s going on at the ZFS level to cause the slowdown. (It&#39;s apparently similar to what happens when the pool is almost full, but I don&#39;t know the specifics of that either.)</p>

<p>With that said, we don&#39;t seem to have seen clear adverse effects on our Linux fileservers, and they&#39;ve definitely run into quota limits (repeatedly). One possible reason for this is that having lots of RAM and SSDs makes the effects mostly go away. Another possible reason is that we haven&#39;t been looking closely enough to see that we&#39;re experiencing global slowdowns that correlate to filesystems hitting quota limits. We&#39;ve had issues before with somewhat subtle slowdowns that we didn&#39;t understand (cf), so I can&#39;t discount that we&#39;re having it happen again.</p>
</blockquote>

<hr>

<h3><a href="http://adrianchadd.blogspot.com/2019/09/fixing-up-ka9q-unix-or-neck-deep-in-30.html" rel="nofollow">Fixing up KA9Q-unix, or &quot;neck deep in 30 year old codebases..&quot;</a></h3>

<blockquote>
<p>I&#39;ll preface this by saying - yes, I&#39;m still neck deep in FreeBSD&#39;s wifi stack and 802.11ac support, but it turns out it&#39;s slow work to fix 15 year old locking related issues that worked fine on 11abg cards, kinda worked ok on 11n cards, and are terrible for these 11ac cards. I&#39;ll .. get there.</p>

<p>Anyhoo, I&#39;ve finally been mucking around with AX.25 packet radio. I&#39;ve been wanting to do this since I was a teenager and found out about its existence, but back in high school and .. well, until a few years ago really .. I didn&#39;t have my amateur radio licence. But, now I do, and I&#39;ve done a bunch of other stuff with a bunch of other radios. The main stumbling block? All my devices are either Apple products or run FreeBSD - and none of them have useful AX.25 stacks. The main stacks of choice these days run on Linux, Windows or are a full hardware TNC.</p>

<p>So yes, I was avoiding hacking on AX.25 stuff because there wasn&#39;t a BSD compatible AX.25 stack. I&#39;m 40 now, leave me be.</p>

<p>But! A few weeks ago I found that someone was still running a packet BBS out of San Francisco. And amazingly, his local node ran on FreeBSD! It turns out Jeremy (KK6JJJ) ported both an old copy of KA9Q and N0ARY-BBS to run on FreeBSD! Cool!</p>

<p>I grabbed my 2m radio (which is already cabled up for digital modes), compiled up his KA9Q port, figured out how to get it to speak to Direwolf, and .. ok. Well, it worked. Kinda.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" rel="nofollow">HAMMER2 and fsck for review</a></h3>

<blockquote>
<p>HAMMER2 is Copy on Write, meaning changes are made to copies of existing data.  This means operations are generally atomic and can survive a power outage, etc.  (You should read up on it!)  However, there\u2019s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<hr>

<h3>[The return of startx(1) for non-root users <a href="https://undeadly.org/cgi?action=article;sid=20190917091236" rel="nofollow">with some caveats</a></h3>

<p>Mark Kettenis (kettenis@) has recently committed changes which restore a certain amount of startx(1)/xinit(1) functionality for non-root users. The commit messages explain the situation:</p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:25:41

Modified files:
    etc/etc.amd64  : fbtab 
    etc/etc.arm64  : fbtab 
    etc/etc.hppa   : fbtab 
    etc/etc.i386   : fbtab 
    etc/etc.loongson: fbtab 
    etc/etc.luna88k: fbtab 
    etc/etc.macppc : fbtab 
    etc/etc.octeon : fbtab 
    etc/etc.sgi    : fbtab 
    etc/etc.sparc64: fbtab 

Log message:
Add ttyC4 to lost of devices to change when logging in on ttyC0 (and in some cases also the serial console) such that X can use it as its VT when running without root privileges.

ok jsg@, matthieu@
CVSROOT:    /cvs
Module name:    xenocara
Changes by:    kettenis@cvs.openbsd.org    2019/09/15 06:31:08

Modified files:
    xserver/hw/xfree86/common: xf86AutoConfig.c 

Log message:
Add modesetting driver as a fall-back when appropriate such that we can use it when running without root privileges which prevents us from scanning the PCI bus.

This makes startx(1)/xinit(1) work again on modern systems with inteldrm(4), radeondrm(4) and amdgpu(4).  In some cases this will result in using a different driver than with xenodm(4) which may expose issues (e.g. when we prefer the intel Xorg driver) or loss of acceleration (e.g. older cards supported by radeondrm(4)).

ok jsg@, matthieu@
</code></pre>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bestasciitable.com/" rel="nofollow">ASCII table and history.  Or, why does Ctrl+i insert a Tab in my terminal?</a></li>
<li><a href="https://sourcehut.org/blog/2019-09-12-sourcehut-makes-bsd-software-better/" rel="nofollow">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" rel="nofollow">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" rel="nofollow">The Vim-Inspired Editor with a Linguistic Twist</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/elisei-bhyvearm64_cpu_and_memory_virtualization_on_armv8.0_a/" rel="nofollow">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" rel="nofollow">DefCon25 - Are all BSD created Equally - A Survey of BSD Kernel vulnerabilities</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/1RCSFK7#wrap" rel="nofollow">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" rel="nofollow">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" rel="nofollow">FreeBSD Quarterly Status Report - Q2 2019</a></li>
</ul>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </itunes:summary>
</item>
<item>
  <title>312: Why Package Managers</title>
  <link>https://www.bsdnow.tv/312</link>
  <guid isPermaLink="false">6dfbd978-c8a2-45c6-a49a-3a4937d83c69</guid>
  <pubDate>Wed, 21 Aug 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6dfbd978-c8a2-45c6-a49a-3a4937d83c69.mp3" length="51882863" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The UNIX Philosophy in 2019, why use package managers, touchpad interrupted, Porting wine to amd64 on NetBSD second evaluation report, Enhancing Syzkaller Support for NetBSD, all about the Pinebook Pro, killing a process and all of its descendants, fast software the best software, and more.</itunes:subtitle>
  <itunes:duration>1:12:03</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/c/c91b88f1-e824-4815-bcb8-5227818d6010/cover.jpg?v=4"/>
  <description>The UNIX Philosophy in 2019, why use package managers, touchpad interrupted, Porting wine to amd64 on NetBSD second evaluation report, Enhancing Syzkaller Support for NetBSD, all about the Pinebook Pro, killing a process and all of its descendants, fast software the best software, and more.
Headlines
The UNIX Philosophy in 2019 (https://triosdevelopers.com/jason.eckert/blog/Entries/2019/6/1_Entry_1.html)
Today, Linux and open source rules the world, and the UNIX philosophy is widely considered compulsory. Organizations are striving to build small, focused applications that work collaboratively in a cloud and microservices environment. We rely on the network, as well as HTTP (text) APIs for storing and referencing data. Moreover, nearly all configuration is stored and communicated using text (e.g. YAML, JSON or XML). And while the UNIX philosophy has changed dramatically over the past 5 decades, it hasn’t strayed too far from Ken Thompson’s original definition in 1973:
We write programs that do one thing and do it well
We write programs to work together
And we write programs that handle text streams, because that is a universal interface
Why Use Package Managers? (https://uwm.edu/hpc/software-management/)
Valuable research is often hindered or outright prevented by the inability to install software.  This need not be the case.
Since I began supporting research computing in 1999, I’ve frequently seen researchers struggle for days or weeks trying to install a single open source application.  In most cases, they ultimately failed.
In many cases, they could have easily installed the software in seconds with one simple command, using a package manager such as Debian packages, FreeBSD ports, MacPorts, or Pkgsrc, just to name a few.
Developer websites often contain poorly written instructions for doing “caveman installs”; manually downloading, unpacking, patching, and building the software.  The same laborious process must often be followed for other software packages on which it depends, which can sometimes number in the dozens.  Many researchers are simply unaware that there are easier ways to install the software they need.  Caveman installs are a colossal waste of man-hours.  If 1000 people around the globe spend an average of 20 hours each trying to install the same program that could have been installed with a package manager (this is not uncommon), then 20,000 man-hours have been lost that could have gone toward science.  How many important discoveries are delayed by this?
The elite research institutions have ample funding and dozens of IT staff dedicated to research computing.  They can churn out publications even if their operation is inefficient.  Most institutions, however, have few or no IT staff dedicated to research, and cannot afford to squander precious man-hours on temporary, one-off software installs.  The wise approach for those of us in that situation is to collaborate on making software deployment easier for everyone.  If we do so, then even the smallest research groups can leverage that work to be more productive and make more frequent contributions to science.
Fortunately, the vast majority of open source software installs can be made trivial for anyone to do for themselves.  Modern package managers perform all the same steps as a caveman install, but automatically.  Package managers also install dependencies for us automatically.
News Roundup
Touchpad, Interrupted (https://jcs.org/2019/07/28/ihidev)
For two years I've been driving myself crazy trying to figure out the source of a driver problem on OpenBSD: interrupts never arrived for certain touchpad devices. A couple weeks ago, I put out a public plea asking for help in case any non-OpenBSD developers recognized the problem, but while debugging an unrelated issue over the weekend, I finally solved it.
It's been a long journey and it's a technical tale, but here it is.
Porting wine to amd64 on NetBSD, second evaluation report (https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on2)
Summary
Presently, Wine on amd64 is in test phase. It seems to work fine with caveats like LDLIBRARYPATH which has to be set as 32-bit Xorg libs don't have ${PREFIX}/emul/netbsd32/lib in its rpath section. The latter is due to us extracting 32-bit libs from tarballs in lieu of building 32-bit Xorg on amd64. As previously stated, pkgsrc doesn't search for pkgconfig files in ${PREFIX}/emul/netbsd32/lib which might have inadvertent effects that I am unaware of as of now. I shall be working on these issues during the final coding period. I would like to thank @leot, @maya and @christos for saving me from shooting myself in the foot many a time. I, admittedly, have had times when multiple approaches, which all seemed right at that time, perplexed me. I believe those are times when having a mentor counts, and I have been lucky enough to have really good ones. Once again, thanks to Google for this wonderful opportunity.
Enhancing Syzkaller Support for NetBSD, Part 2 (https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd)
As a part of Google Summer of Code’19, I am working on improving the support for Syzkaller kernel fuzzer. Syzkaller is an unsupervised coverage-guided kernel fuzzer, that supports a variety of operating systems including NetBSD. This report details the work done during the second coding period.
You can also take a look at the first report to learn more about the initial support that we added. : https://blog.netbsd.org/tnf/entry/enhancingsyzkallersupportfornetbsd
July Update: All about the Pinebook Pro (https://www.pine64.org/2019/07/05/july-update-all-about-the-pinebook-pro/)
"So I said I won’t be talking about the BSDs, but I feel like I should at the very least give you a general overview of the RK3399 *BSD functionality. I’ll make it quick. I’ve spoken to *BSD devs whom worked on the RockPro64 and from what I’ve gathered (despite the different *BSDs having varying degree of support for the RK3399 SOC) many of the core features are already supported, which bodes well for *BSD on the Pro. That said, some of the things you’d require on a functional laptop – such as the LCD (using eDP) for instance – will not work on the Pinebook Pro using *BSD as of today. So clearly a degree of work is yet needed for a BSD to run on the device. However, keep in mind that *BSD developers will be receiving their units soon and by the time you receive yours some basic functionality may be available."
Killing a process and all of its descendants (http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html)
Killing processes in a Unix-like system can be trickier than expected. Last week I was debugging an odd issue related to job stopping on Semaphore. More specifically, an issue related to the killing of a running process in a job. Here are the highlights of what I learned:
Unix-like operating systems have sophisticated process relationships. Parent-child, process groups, sessions, and session leaders. However, the details are not uniform across operating systems like Linux and macOS. POSIX compliant operating systems support sending signals to process groups with a negative PID number.
Sending signals to all processes in a session is not trivial with syscalls.
Child processes started with exec inherit their parent signal configuration. If the parent process is ignoring the SIGHUP signal, for example, this configuration is propagated to the children.
The answer to the “What happens with orphaned process groups” question is not trivial.
Fast Software, the Best Software (https://craigmod.com/essays/fast_software/)
I love fast software. That is, software speedy both in function and interface. Software with minimal to no lag between wanting to activate or manipulate something and the thing happening. Lightness.
Software that’s speedy usually means it’s focused. Like a good tool, it often means that it’s simple, but that’s not necessarily true. Speed in software is probably the most valuable, least valued asset. To me, speedy software is the difference between an application smoothly integrating into your life, and one called upon with great reluctance. Fastness in software is like great margins in a book — makes you smile without necessarily knowing why.
But why is slow bad? Fast software is not always good software, but slow software is rarely able to rise to greatness. Fast software gives the user a chance to “meld” with its toolset. That is, not break flow. When the nerds upon Nerd Hill fight to the death over Vi and Emacs, it’s partly because they have such a strong affinity for the flow of the application and its meldiness. They have invested. The Tool Is Good, so they feel. Not breaking flow is an axiom of great tools.
A typewriter is an excellent tool because, even though it’s slow in a relative sense, every aspect of the machine itself operates as quickly as the user can move. It is focused. There are no delays when making a new line or slamming a key into the paper. Yes, you have to put a new sheet of paper into the machine at the end of a page, but that action becomes part of the flow of using the machine, and the accumulation of paper a visual indication of work completed. It is not wasted work. There are no fundamental mechanical delays in using the machine. The best software inches ever closer to the physical directness of something like a typewriter. (The machine may break down, of course, ribbons need to be changed — but this is maintenance and separate from the use of the tool. I’d be delighted to “maintain” Photoshop if it would lighten it up.)
Beastie Bits
Register for vBSDCon 2019, Sept 5-7 in Reston VA (https://vbsdcon.com/registration)
Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway (https://2019.eurobsdcon.org/registration/)
Feedback/Questions
Paulo - FreeNAS Question (http://dpaste.com/2GDG7WR#wrap)
Marc - Changing VT without function keys? (http://dpaste.com/1AKC7A1#wrap)
Caleb - Patch, update, and upgrade management (http://dpaste.com/2D6J482#wrap)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)

    
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, philosophy, package manager, touchpad, porting, wine, evaluation, syzkaller, pinebook pro, process</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The UNIX Philosophy in 2019, why use package managers, touchpad interrupted, Porting wine to amd64 on NetBSD second evaluation report, Enhancing Syzkaller Support for NetBSD, all about the Pinebook Pro, killing a process and all of its descendants, fast software the best software, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2019/6/1_Entry_1.html" rel="nofollow">The UNIX Philosophy in 2019</a></h3>

<blockquote>
<p>Today, Linux and open source rules the world, and the UNIX philosophy is widely considered compulsory. Organizations are striving to build small, focused applications that work collaboratively in a cloud and microservices environment. We rely on the network, as well as HTTP (text) APIs for storing and referencing data. Moreover, nearly all configuration is stored and communicated using text (e.g. YAML, JSON or XML). And while the UNIX philosophy has changed dramatically over the past 5 decades, it hasn’t strayed too far from Ken Thompson’s original definition in 1973:</p>
</blockquote>

<ul>
<li>We write programs that do one thing and do it well</li>
<li>We write programs to work together</li>
<li>And we write programs that handle text streams, because that is a universal interface</li>
</ul>

<hr>

<h3><a href="https://uwm.edu/hpc/software-management/" rel="nofollow">Why Use Package Managers?</a></h3>

<blockquote>
<p>Valuable research is often hindered or outright prevented by the inability to install software.  This need not be the case.</p>

<p>Since I began supporting research computing in 1999, I’ve frequently seen researchers struggle for days or weeks trying to install a single open source application.  In most cases, they ultimately failed.</p>

<p>In many cases, they could have easily installed the software in seconds with one simple command, using a package manager such as Debian packages, FreeBSD ports, MacPorts, or Pkgsrc, just to name a few.</p>

<p>Developer websites often contain poorly written instructions for doing “caveman installs”; manually downloading, unpacking, patching, and building the software.  The same laborious process must often be followed for other software packages on which it depends, which can sometimes number in the dozens.  Many researchers are simply unaware that there are easier ways to install the software they need.  Caveman installs are a colossal waste of man-hours.  If 1000 people around the globe spend an average of 20 hours each trying to install the same program that could have been installed with a package manager (this is not uncommon), then 20,000 man-hours have been lost that could have gone toward science.  How many important discoveries are delayed by this?</p>

<p>The elite research institutions have ample funding and dozens of IT staff dedicated to research computing.  They can churn out publications even if their operation is inefficient.  Most institutions, however, have few or no IT staff dedicated to research, and cannot afford to squander precious man-hours on temporary, one-off software installs.  The wise approach for those of us in that situation is to collaborate on making software deployment easier for everyone.  If we do so, then even the smallest research groups can leverage that work to be more productive and make more frequent contributions to science.</p>

<p>Fortunately, the vast majority of open source software installs can be made trivial for anyone to do for themselves.  Modern package managers perform all the same steps as a caveman install, but automatically.  Package managers also install dependencies for us automatically.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2019/07/28/ihidev" rel="nofollow">Touchpad, Interrupted</a></h3>

<blockquote>
<p>For two years I&#39;ve been driving myself crazy trying to figure out the source of a driver problem on OpenBSD: interrupts never arrived for certain touchpad devices. A couple weeks ago, I put out a public plea asking for help in case any non-OpenBSD developers recognized the problem, but while debugging an unrelated issue over the weekend, I finally solved it.</p>

<p>It&#39;s been a long journey and it&#39;s a technical tale, but here it is.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on2" rel="nofollow">Porting wine to amd64 on NetBSD, second evaluation report</a></h3>

<ul>
<li>Summary</li>
</ul>

<blockquote>
<p>Presently, Wine on amd64 is in test phase. It seems to work fine with caveats like LD_LIBRARY_PATH which has to be set as 32-bit Xorg libs don&#39;t have ${PREFIX}/emul/netbsd32/lib in its rpath section. The latter is due to us extracting 32-bit libs from tarballs in lieu of building 32-bit Xorg on amd64. As previously stated, pkgsrc doesn&#39;t search for pkgconfig files in ${PREFIX}/emul/netbsd32/lib which might have inadvertent effects that I am unaware of as of now. I shall be working on these issues during the final coding period. I would like to thank @leot, @maya and @christos for saving me from shooting myself in the foot many a time. I, admittedly, have had times when multiple approaches, which all seemed right at that time, perplexed me. I believe those are times when having a mentor counts, and I have been lucky enough to have really good ones. Once again, thanks to Google for this wonderful opportunity.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd" rel="nofollow">Enhancing Syzkaller Support for NetBSD, Part 2</a></h3>

<blockquote>
<p>As a part of Google Summer of Code’19, I am working on improving the support for Syzkaller kernel fuzzer. Syzkaller is an unsupervised coverage-guided kernel fuzzer, that supports a variety of operating systems including NetBSD. This report details the work done during the second coding period.</p>

<p>You can also take a look at the first report to learn more about the initial support that we added. : <a href="https://blog.netbsd.org/tnf/entry/enhancing_syzkaller_support_for_netbsd" rel="nofollow">https://blog.netbsd.org/tnf/entry/enhancing_syzkaller_support_for_netbsd</a></p>
</blockquote>

<hr>

<h3><a href="https://www.pine64.org/2019/07/05/july-update-all-about-the-pinebook-pro/" rel="nofollow">July Update: All about the Pinebook Pro</a></h3>

<blockquote>
<p>&quot;So I said I won’t be talking about the BSDs, but I feel like I should at the very least give you a general overview of the RK3399 *BSD functionality. I’ll make it quick. I’ve spoken to *BSD devs whom worked on the RockPro64 and from what I’ve gathered (despite the different *BSDs having varying degree of support for the RK3399 SOC) many of the core features are already supported, which bodes well for *BSD on the Pro. That said, some of the things you’d require on a functional laptop – such as the LCD (using eDP) for instance – will not work on the Pinebook Pro using *BSD as of today. So clearly a degree of work is yet needed for a BSD to run on the device. However, keep in mind that *BSD developers will be receiving their units soon and by the time you receive yours some basic functionality may be available.&quot;</p>
</blockquote>

<hr>

<h3><a href="http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html" rel="nofollow">Killing a process and all of its descendants</a></h3>

<blockquote>
<p>Killing processes in a Unix-like system can be trickier than expected. Last week I was debugging an odd issue related to job stopping on Semaphore. More specifically, an issue related to the killing of a running process in a job. Here are the highlights of what I learned:</p>

<p>Unix-like operating systems have sophisticated process relationships. Parent-child, process groups, sessions, and session leaders. However, the details are not uniform across operating systems like Linux and macOS. POSIX compliant operating systems support sending signals to process groups with a negative PID number.</p>

<p>Sending signals to all processes in a session is not trivial with syscalls.</p>

<p>Child processes started with exec inherit their parent signal configuration. If the parent process is ignoring the SIGHUP signal, for example, this configuration is propagated to the children.</p>

<p>The answer to the “What happens with orphaned process groups” question is not trivial.</p>
</blockquote>

<hr>

<h3><a href="https://craigmod.com/essays/fast_software/" rel="nofollow">Fast Software, the Best Software</a></h3>

<blockquote>
<p>I love fast software. That is, software speedy both in function and interface. Software with minimal to no lag between wanting to activate or manipulate something and the thing happening. Lightness.</p>

<p>Software that’s speedy usually means it’s focused. Like a good tool, it often means that it’s simple, but that’s not necessarily true. Speed in software is probably the most valuable, least valued asset. To me, speedy software is the difference between an application smoothly integrating into your life, and one called upon with great reluctance. Fastness in software is like great margins in a book — makes you smile without necessarily knowing why.</p>

<p>But why is slow bad? Fast software is not always good software, but slow software is rarely able to rise to greatness. Fast software gives the user a chance to “meld” with its toolset. That is, not break flow. When the nerds upon Nerd Hill fight to the death over Vi and Emacs, it’s partly because they have such a strong affinity for the flow of the application and its meldiness. They have invested. The Tool Is Good, so they feel. Not breaking flow is an axiom of great tools.</p>

<p>A typewriter is an excellent tool because, even though it’s slow in a relative sense, every aspect of the machine itself operates as quickly as the user can move. It is focused. There are no delays when making a new line or slamming a key into the paper. Yes, you have to put a new sheet of paper into the machine at the end of a page, but that action becomes part of the flow of using the machine, and the accumulation of paper a visual indication of work completed. It is not wasted work. There are no fundamental mechanical delays in using the machine. The best software inches ever closer to the physical directness of something like a typewriter. (The machine may break down, of course, ribbons need to be changed — but this is maintenance and separate from the use of the tool. I’d be delighted to “maintain” Photoshop if it would lighten it up.)</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://vbsdcon.com/registration" rel="nofollow">Register for vBSDCon 2019, Sept 5-7 in Reston VA</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" rel="nofollow">Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/2GDG7WR#wrap" rel="nofollow">FreeNAS Question</a></li>
<li>Marc - <a href="http://dpaste.com/1AKC7A1#wrap" rel="nofollow">Changing VT without function keys?</a></li>
<li>Caleb - <a href="http://dpaste.com/2D6J482#wrap" rel="nofollow">Patch, update, and upgrade management</a></li>
</ul>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0312.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The UNIX Philosophy in 2019, why use package managers, touchpad interrupted, Porting wine to amd64 on NetBSD second evaluation report, Enhancing Syzkaller Support for NetBSD, all about the Pinebook Pro, killing a process and all of its descendants, fast software the best software, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2019/6/1_Entry_1.html" rel="nofollow">The UNIX Philosophy in 2019</a></h3>

<blockquote>
<p>Today, Linux and open source rules the world, and the UNIX philosophy is widely considered compulsory. Organizations are striving to build small, focused applications that work collaboratively in a cloud and microservices environment. We rely on the network, as well as HTTP (text) APIs for storing and referencing data. Moreover, nearly all configuration is stored and communicated using text (e.g. YAML, JSON or XML). And while the UNIX philosophy has changed dramatically over the past 5 decades, it hasn’t strayed too far from Ken Thompson’s original definition in 1973:</p>
</blockquote>

<ul>
<li>We write programs that do one thing and do it well</li>
<li>We write programs to work together</li>
<li>And we write programs that handle text streams, because that is a universal interface</li>
</ul>

<hr>

<h3><a href="https://uwm.edu/hpc/software-management/" rel="nofollow">Why Use Package Managers?</a></h3>

<blockquote>
<p>Valuable research is often hindered or outright prevented by the inability to install software.  This need not be the case.</p>

<p>Since I began supporting research computing in 1999, I’ve frequently seen researchers struggle for days or weeks trying to install a single open source application.  In most cases, they ultimately failed.</p>

<p>In many cases, they could have easily installed the software in seconds with one simple command, using a package manager such as Debian packages, FreeBSD ports, MacPorts, or Pkgsrc, just to name a few.</p>

<p>Developer websites often contain poorly written instructions for doing “caveman installs”; manually downloading, unpacking, patching, and building the software.  The same laborious process must often be followed for other software packages on which it depends, which can sometimes number in the dozens.  Many researchers are simply unaware that there are easier ways to install the software they need.  Caveman installs are a colossal waste of man-hours.  If 1000 people around the globe spend an average of 20 hours each trying to install the same program that could have been installed with a package manager (this is not uncommon), then 20,000 man-hours have been lost that could have gone toward science.  How many important discoveries are delayed by this?</p>

<p>The elite research institutions have ample funding and dozens of IT staff dedicated to research computing.  They can churn out publications even if their operation is inefficient.  Most institutions, however, have few or no IT staff dedicated to research, and cannot afford to squander precious man-hours on temporary, one-off software installs.  The wise approach for those of us in that situation is to collaborate on making software deployment easier for everyone.  If we do so, then even the smallest research groups can leverage that work to be more productive and make more frequent contributions to science.</p>

<p>Fortunately, the vast majority of open source software installs can be made trivial for anyone to do for themselves.  Modern package managers perform all the same steps as a caveman install, but automatically.  Package managers also install dependencies for us automatically.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2019/07/28/ihidev" rel="nofollow">Touchpad, Interrupted</a></h3>

<blockquote>
<p>For two years I&#39;ve been driving myself crazy trying to figure out the source of a driver problem on OpenBSD: interrupts never arrived for certain touchpad devices. A couple weeks ago, I put out a public plea asking for help in case any non-OpenBSD developers recognized the problem, but while debugging an unrelated issue over the weekend, I finally solved it.</p>

<p>It&#39;s been a long journey and it&#39;s a technical tale, but here it is.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on2" rel="nofollow">Porting wine to amd64 on NetBSD, second evaluation report</a></h3>

<ul>
<li>Summary</li>
</ul>

<blockquote>
<p>Presently, Wine on amd64 is in test phase. It seems to work fine with caveats like LD_LIBRARY_PATH which has to be set as 32-bit Xorg libs don&#39;t have ${PREFIX}/emul/netbsd32/lib in its rpath section. The latter is due to us extracting 32-bit libs from tarballs in lieu of building 32-bit Xorg on amd64. As previously stated, pkgsrc doesn&#39;t search for pkgconfig files in ${PREFIX}/emul/netbsd32/lib which might have inadvertent effects that I am unaware of as of now. I shall be working on these issues during the final coding period. I would like to thank @leot, @maya and @christos for saving me from shooting myself in the foot many a time. I, admittedly, have had times when multiple approaches, which all seemed right at that time, perplexed me. I believe those are times when having a mentor counts, and I have been lucky enough to have really good ones. Once again, thanks to Google for this wonderful opportunity.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd" rel="nofollow">Enhancing Syzkaller Support for NetBSD, Part 2</a></h3>

<blockquote>
<p>As a part of Google Summer of Code’19, I am working on improving the support for Syzkaller kernel fuzzer. Syzkaller is an unsupervised coverage-guided kernel fuzzer, that supports a variety of operating systems including NetBSD. This report details the work done during the second coding period.</p>

<p>You can also take a look at the first report to learn more about the initial support that we added. : <a href="https://blog.netbsd.org/tnf/entry/enhancing_syzkaller_support_for_netbsd" rel="nofollow">https://blog.netbsd.org/tnf/entry/enhancing_syzkaller_support_for_netbsd</a></p>
</blockquote>

<hr>

<h3><a href="https://www.pine64.org/2019/07/05/july-update-all-about-the-pinebook-pro/" rel="nofollow">July Update: All about the Pinebook Pro</a></h3>

<blockquote>
<p>&quot;So I said I won’t be talking about the BSDs, but I feel like I should at the very least give you a general overview of the RK3399 *BSD functionality. I’ll make it quick. I’ve spoken to *BSD devs whom worked on the RockPro64 and from what I’ve gathered (despite the different *BSDs having varying degree of support for the RK3399 SOC) many of the core features are already supported, which bodes well for *BSD on the Pro. That said, some of the things you’d require on a functional laptop – such as the LCD (using eDP) for instance – will not work on the Pinebook Pro using *BSD as of today. So clearly a degree of work is yet needed for a BSD to run on the device. However, keep in mind that *BSD developers will be receiving their units soon and by the time you receive yours some basic functionality may be available.&quot;</p>
</blockquote>

<hr>

<h3><a href="http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html" rel="nofollow">Killing a process and all of its descendants</a></h3>

<blockquote>
<p>Killing processes in a Unix-like system can be trickier than expected. Last week I was debugging an odd issue related to job stopping on Semaphore. More specifically, an issue related to the killing of a running process in a job. Here are the highlights of what I learned:</p>

<p>Unix-like operating systems have sophisticated process relationships. Parent-child, process groups, sessions, and session leaders. However, the details are not uniform across operating systems like Linux and macOS. POSIX compliant operating systems support sending signals to process groups with a negative PID number.</p>

<p>Sending signals to all processes in a session is not trivial with syscalls.</p>

<p>Child processes started with exec inherit their parent signal configuration. If the parent process is ignoring the SIGHUP signal, for example, this configuration is propagated to the children.</p>

<p>The answer to the “What happens with orphaned process groups” question is not trivial.</p>
</blockquote>

<hr>

<h3><a href="https://craigmod.com/essays/fast_software/" rel="nofollow">Fast Software, the Best Software</a></h3>

<blockquote>
<p>I love fast software. That is, software speedy both in function and interface. Software with minimal to no lag between wanting to activate or manipulate something and the thing happening. Lightness.</p>

<p>Software that’s speedy usually means it’s focused. Like a good tool, it often means that it’s simple, but that’s not necessarily true. Speed in software is probably the most valuable, least valued asset. To me, speedy software is the difference between an application smoothly integrating into your life, and one called upon with great reluctance. Fastness in software is like great margins in a book — makes you smile without necessarily knowing why.</p>

<p>But why is slow bad? Fast software is not always good software, but slow software is rarely able to rise to greatness. Fast software gives the user a chance to “meld” with its toolset. That is, not break flow. When the nerds upon Nerd Hill fight to the death over Vi and Emacs, it’s partly because they have such a strong affinity for the flow of the application and its meldiness. They have invested. The Tool Is Good, so they feel. Not breaking flow is an axiom of great tools.</p>

<p>A typewriter is an excellent tool because, even though it’s slow in a relative sense, every aspect of the machine itself operates as quickly as the user can move. It is focused. There are no delays when making a new line or slamming a key into the paper. Yes, you have to put a new sheet of paper into the machine at the end of a page, but that action becomes part of the flow of using the machine, and the accumulation of paper a visual indication of work completed. It is not wasted work. There are no fundamental mechanical delays in using the machine. The best software inches ever closer to the physical directness of something like a typewriter. (The machine may break down, of course, ribbons need to be changed — but this is maintenance and separate from the use of the tool. I’d be delighted to “maintain” Photoshop if it would lighten it up.)</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://vbsdcon.com/registration" rel="nofollow">Register for vBSDCon 2019, Sept 5-7 in Reston VA</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" rel="nofollow">Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/2GDG7WR#wrap" rel="nofollow">FreeNAS Question</a></li>
<li>Marc - <a href="http://dpaste.com/1AKC7A1#wrap" rel="nofollow">Changing VT without function keys?</a></li>
<li>Caleb - <a href="http://dpaste.com/2D6J482#wrap" rel="nofollow">Patch, update, and upgrade management</a></li>
</ul>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0312.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
